Skip to content

Commit

Permalink
Merge branch '15.2' into 15.2Onepiece
Browse files Browse the repository at this point in the history
* 15.2: (72 commits)
  Update version for release
  chore: bump version to 15.2.0
  fix(deps): update all non-major dependencies to v2.0.12
  chore(deps): update dependency gradle to v8.6 (graphql-java-kickstart#554)
  chore(deps): update gradle/wrapper-validation-action action to v2
  chore(deps): update actions/cache action to v4 (graphql-java-kickstart#551)
  fix(deps): update dependency org.apache.groovy:groovy-all to v4.0.18
  fix(deps): update all non-major dependencies to v6.1.3
  fix(deps): update all non-major dependencies to v2.0.11
  fix(deps): update all non-major dependencies to v2.0.10
  fix(deps): update all non-major dependencies to v2.16.1
  fix(deps): update dependency org.apache.groovy:groovy-all to v4.0.17 (graphql-java-kickstart#545)
  fix(deps): update dependency net.bytebuddy:byte-buddy to v1.14.11
  fix(deps): update dependency com.google.guava:guava to v33 (graphql-java-kickstart#542)
  fix(deps): update all non-major dependencies (graphql-java-kickstart#533)
  chore(deps): replace cglib with byte-buddy (graphql-java-kickstart#543)
  chore(deps): update actions/setup-java action to v4
  chore(deps): update actions/checkout action to v4
  fix(deps): update dependency com.graphql-java:graphql-java to v21
  fix(deps): update all non-major dependencies to v2.1.1
  ...

# Conflicts:
#	build.gradle
#	gradle.properties
  • Loading branch information
estal011 committed May 29, 2024
2 parents 9013afc + 8791372 commit 6feb893
Show file tree
Hide file tree
Showing 26 changed files with 435 additions and 116 deletions.
37 changes: 37 additions & 0 deletions .github/add-javax-suffix.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/bash

addSuffix() {
local result
result=$(grep include settings.gradle | awk '{print $2}' | tr -d "'" | tr -d ':')
readarray -t <<<"$result"
modules=("${MAPFILE[@]}")

updateLocalDependencies
}

updateLocalDependencies() {
for module in "${modules[@]}"; do
cp -rf "$module" "$module"-javax
rm -rf "$module"

for dependency in "${modules[@]}"; do
sed -i -E "s/project\(('|\"):${dependency}('|\")\)/project\(':${dependency}-javax'\)/" "$module"-"javax"/build.gradle
done
done

updateGradleSettings
}

updateGradleSettings() {
for module in "${modules[@]}"; do
echo "Replace ${module} with ${module}-javax in settings.gradle"
sed -i -E "s/('|\"):${module}('|\")/':${module}-javax'/" settings.gradle
done

cat settings.gradle
}

echo "Add suffix -javax to modules"
addSuffix

ls -lh
17 changes: 17 additions & 0 deletions .github/release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/bash
set -ev

FLAVOUR="${1}"

removeSnapshots() {
sed -i 's/-SNAPSHOT//' gradle.properties
}

echo "Publishing release to Maven Central"
removeSnapshots

if [ "${FLAVOUR}" == 'javax' ]; then
.github/add-javax-suffix.sh
fi

./gradlew clean build publishToSonatype closeAndReleaseSonatypeStagingRepository
28 changes: 28 additions & 0 deletions .github/replaceJakartaWithJavax.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

# Set jdk11 as source and target
sed -i 's/SOURCE_COMPATIBILITY=.*/SOURCE_COMPATIBILITY=11/' gradle.properties
sed -i 's/TARGET_COMPATIBILITY=.*/TARGET_COMPATIBILITY=11/' gradle.properties

# Replace jakarta imports and dependencies with javax
grep -rl 'import jakarta' ./graphql-java-servlet | xargs sed -i 's/import jakarta/import javax/g'
sed -i 's/.*jakarta.websocket:jakarta.websocket-client-api.*//' graphql-java-servlet/build.gradle
sed -i \
's/jakarta.servlet:jakarta.servlet-api.*/javax.servlet:javax.servlet-api:$LIB_JAVAX_SERVLET"/' \
graphql-java-servlet/build.gradle
sed -i \
's/jakarta.websocket.*/javax.websocket:javax.websocket-api:$LIB_JAVAX_WEBSOCKET"/' \
graphql-java-servlet/build.gradle

# Final check if there are something else to replace
grep -rl 'jakarta' ./graphql-java-servlet | xargs sed -i 's/jakarta/javax/g'

# Set the version 5 for spring framework
sed -i \
's/org.springframework:spring-test.*/org.springframework:spring-test:$LIB_SPRINGFRAMEWORK_5"/' \
graphql-java-servlet/build.gradle
sed -i \
's/org.springframework:spring-web.*/org.springframework:spring-web:$LIB_SPRINGFRAMEWORK_5"/' \
graphql-java-servlet/build.gradle

echo "Replaced jakarta occurrences with javax"
17 changes: 6 additions & 11 deletions github-build.sh → .github/tag-release.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,16 @@ removeSnapshots() {
}

commitRelease() {
local APP_VERSION=$(getVersion)
local APP_VERSION
APP_VERSION=$(getVersion)
git commit -a -m "Update version for release"
git tag -a "v${APP_VERSION}" -m "Tag release version"
}

bumpVersion() {
echo "Bump version number"
local APP_VERSION=$(getVersion | xargs)
local APP_VERSION
APP_VERSION=$(getVersion | xargs)
local SEMANTIC_REGEX='^([0-9]+)\.([0-9]+)(\.([0-9]+))?$'
if [[ ${APP_VERSION} =~ ${SEMANTIC_REGEX} ]]; then
if [[ ${BASH_REMATCH[4]} ]]; then
Expand All @@ -30,24 +32,17 @@ bumpVersion() {

echo "Next version: ${nextVersion}"
sed -i -E "s/^version(\s)?=.*/version=${nextVersion}/" gradle.properties
git commit -a -m "Bumped version for next release"
else
echo "No semantic version and therefore cannot publish to maven repository: '${APP_VERSION}'"
fi
}

commitNextVersion() {
git commit -a -m "Update version for release"
}

git config --global user.email "[email protected]"
git config --global user.name "GitHub Actions"

echo "Deploying release to Maven Central"
removeSnapshots

./gradlew clean build publishToSonatype closeAndReleaseSonatypeStagingRepository

commitRelease
bumpVersion
commitNextVersion
git push --follow-tags
git push --follow-tags
18 changes: 9 additions & 9 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ jobs:
name: Gradle Wrapper Validation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: gradle/wrapper-validation-action@v1
- uses: actions/checkout@v4
- uses: gradle/wrapper-validation-action@v2

test:
name: Test run
Expand All @@ -22,14 +22,14 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ matrix.java }}
- name: Cache Gradle
uses: actions/cache@v3
uses: actions/cache@v4
env:
java-version: ${{ matrix.java }}
with:
Expand All @@ -56,26 +56,26 @@ jobs:
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
if: env.SONAR_TOKEN != null
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 17
if: env.SONAR_TOKEN != null
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Cache SonarCloud packages
if: env.SONAR_TOKEN != null
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Gradle packages
if: env.SONAR_TOKEN != null
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
Expand Down
121 changes: 107 additions & 14 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,23 @@ jobs:
name: Gradle Wrapper Validation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: gradle/wrapper-validation-action@v1
- uses: actions/checkout@v4
- uses: gradle/wrapper-validation-action@v2

test:
name: Test run
test-jakarta:
name: Test run jakarta
needs: validation
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Cache Gradle
uses: actions/cache@v3
uses: actions/cache@v4
env:
java-version: 17
with:
Expand All @@ -37,20 +37,20 @@ jobs:
- name: Gradle Check
run: ./gradlew --info check

build:
name: Publish release
needs: test
build-jakarta:
name: Publish release jakarta
needs: test-jakarta
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Cache Gradle
uses: actions/cache@v3
uses: actions/cache@v4
env:
java-version: 17
with:
Expand All @@ -60,18 +60,111 @@ jobs:
key: ${{ runner.os }}-${{ env.java-version }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-${{ env.java-version }}-gradle-
- name: Prepare environment
env:
GPG_KEY_CONTENTS: ${{ secrets.GPG_KEY_CONTENTS }}
SIGNING_SECRET_KEY_RING_FILE: ${{ secrets.GPG_SIGNING_SECRET_KEY_RING_FILE }}
run: sudo bash -c "echo '$GPG_KEY_CONTENTS' | base64 -d > '$SIGNING_SECRET_KEY_RING_FILE'"
- name: Publish release
env:
SIGNING_KEY_ID: ${{ secrets.GPG_SIGNING_KEY_ID }}
SIGNING_PASSWORD: ${{ secrets.GPG_SIGNING_PASSWORD }}
SIGNING_SECRET_KEY_RING_FILE: ${{ secrets.GPG_SIGNING_SECRET_KEY_RING_FILE }}
OSS_USER_TOKEN_KEY: ${{ secrets.OSS_USER_TOKEN_KEY }}
OSS_USER_TOKEN_PASS: ${{ secrets.OSS_USER_TOKEN_PASS }}
run: .github/release.sh

test-javax:
name: Test run javax
needs: validation
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 11
- name: Cache Gradle
uses: actions/cache@v4
env:
java-version: 11
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-${{ env.java-version }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-${{ env.java-version }}-gradle-
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Replace jakarta with javax
run: .github/replaceJakartaWithJavax.sh
- name: Gradle Check
run: ./gradlew --info check

build-javax:
name: Publish release javax
needs: test-javax
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 11

- name: Cache Gradle
uses: actions/cache@v4
env:
java-version: 11
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-${{ env.java-version }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-${{ env.java-version }}-gradle-
- name: Prepare environment
env:
GPG_KEY_CONTENTS: ${{ secrets.GPG_KEY_CONTENTS }}
SIGNING_SECRET_KEY_RING_FILE: ${{ secrets.GPG_SIGNING_SECRET_KEY_RING_FILE }}
run: sudo bash -c "echo '$GPG_KEY_CONTENTS' | base64 -d > '$SIGNING_SECRET_KEY_RING_FILE'"
- name: Replace jakarta with javax
run: .github/replaceJakartaWithJavax.sh
- name: Publish release
env:
SIGNING_KEY_ID: ${{ secrets.GPG_SIGNING_KEY_ID }}
SIGNING_PASSWORD: ${{ secrets.GPG_SIGNING_PASSWORD }}
SIGNING_SECRET_KEY_RING_FILE: ${{ secrets.GPG_SIGNING_SECRET_KEY_RING_FILE }}
OSS_USER_TOKEN_KEY: ${{ secrets.OSS_USER_TOKEN_KEY }}
OSS_USER_TOKEN_PASS: ${{ secrets.OSS_USER_TOKEN_PASS }}
run: bash github-build.sh
run: .github/release.sh javax
tag:
name: Tag release
needs: [ build-jakarta, build-javax ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Cache Gradle
uses: actions/cache@v4
env:
java-version: 17
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-${{ env.java-version }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-${{ env.java-version }}-gradle-
- name: Tag release
run: .github/tag-release.sh
Loading

0 comments on commit 6feb893

Please sign in to comment.