Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: graphql-java-kickstart/graphql-java-servlet
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v13.0.0
Choose a base ref
...
head repository: graphql-java-kickstart/graphql-java-servlet
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 689 additions and 692 deletions.
  1. +37 −0 .github/add-javax-suffix.sh
  2. +17 −0 .github/release.sh
  3. +28 −0 .github/replaceJakartaWithJavax.sh
  4. +6 −11 github-build.sh → .github/tag-release.sh
  5. +12 −12 .github/workflows/pull-request.yml
  6. +111 −18 .github/workflows/release.yml
  7. +89 −23 .github/workflows/snapshot.yml
  8. +50 −4 README.md
  9. +8 −18 build.gradle
  10. +1 −1 examples/osgi/apache-karaf-feature/pom.xml
  11. +2 −2 examples/osgi/pom.xml
  12. +13 −7 gradle.properties
  13. BIN gradle/wrapper/gradle-wrapper.jar
  14. +3 −1 gradle/wrapper/gradle-wrapper.properties
  15. +25 −13 gradlew
  16. +13 −10 gradlew.bat
  17. +1 −1 graphql-java-kickstart/build.gradle
  18. +1 −29 ...hql-java-kickstart/src/main/java/graphql/kickstart/execution/BatchedDataLoaderGraphQLBuilder.java
  19. +9 −25 graphql-java-kickstart/src/main/java/graphql/kickstart/execution/GraphQLQueryInvoker.java
  20. +3 −15 graphql-java-kickstart/src/main/java/graphql/kickstart/execution/config/GraphQLBuilder.java
  21. +4 −67 graphql-java-kickstart/src/main/java/graphql/kickstart/execution/context/ContextSetting.java
  22. +0 −3 .../src/main/java/graphql/kickstart/execution/error/DefaultGraphQLServletObjectMapperConfigurer.java
  23. +2 −2 ...kickstart/src/main/java/graphql/kickstart/execution/instrumentation/AbstractTrackingApproach.java
  24. +0 −188 ...rc/main/java/graphql/kickstart/execution/instrumentation/ConfigurableDispatchInstrumentation.java
  25. +2 −2 ...kstart/src/main/java/graphql/kickstart/execution/instrumentation/NoOpInstrumentationProvider.java
  26. +16 −12 graphql-java-servlet/build.gradle
  27. +4 −4 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/AbstractGraphQLHttpServlet.java
  28. +1 −1 ...ql-java-servlet/src/main/java/graphql/kickstart/servlet/AbstractGraphQLInvocationInputParser.java
  29. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/AsyncTimeoutListener.java
  30. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/BatchedQueryResponseWriter.java
  31. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/ErrorQueryResponseWriter.java
  32. +1 −1 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/ExecutionResultSubscriber.java
  33. +1 −1 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/GraphQLConfiguration.java
  34. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/GraphQLGetInvocationInputParser.java
  35. +3 −3 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/GraphQLInvocationInputParser.java
  36. +4 −4 ...l-java-servlet/src/main/java/graphql/kickstart/servlet/GraphQLMultipartInvocationInputParser.java
  37. +4 −3 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/GraphQLPostInvocationInputParser.java
  38. +8 −11 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/GraphQLWebsocketServlet.java
  39. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/HttpRequestHandler.java
  40. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/HttpRequestHandlerImpl.java
  41. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/HttpRequestInvoker.java
  42. +9 −4 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/HttpRequestInvokerImpl.java
  43. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/ListenerHandler.java
  44. +19 −1 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/OsgiGraphQLHttpServlet.java
  45. +19 −0 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/OsgiSchemaBuilder.java
  46. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/QueryResponseWriter.java
  47. +3 −3 ...l-java-servlet/src/main/java/graphql/kickstart/servlet/SingleAsynchronousQueryResponseWriter.java
  48. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/SingleQueryResponseWriter.java
  49. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/SubscriptionAsyncListener.java
  50. +1 −1 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/apollo/ApolloScalars.java
  51. +1 −1 ...et/src/main/java/graphql/kickstart/servlet/apollo/ApolloWebSocketSubscriptionProtocolFactory.java
  52. +1 −1 ...va-servlet/src/main/java/graphql/kickstart/servlet/apollo/ApolloWebSocketSubscriptionSession.java
  53. +4 −4 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/cache/BufferedHttpServletResponse.java
  54. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/cache/CacheReader.java
  55. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/cache/CachingHttpRequestInvoker.java
  56. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/cache/CachingQueryResponseWriter.java
  57. +1 −1 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/cache/GraphQLResponseCacheManager.java
  58. +2 −2 ...a-servlet/src/main/java/graphql/kickstart/servlet/config/DefaultGraphQLSchemaServletProvider.java
  59. +2 −2 ...hql-java-servlet/src/main/java/graphql/kickstart/servlet/config/GraphQLSchemaServletProvider.java
  60. +3 −3 ...ql-java-servlet/src/main/java/graphql/kickstart/servlet/context/DefaultGraphQLServletContext.java
  61. +4 −4 ...-servlet/src/main/java/graphql/kickstart/servlet/context/DefaultGraphQLServletContextBuilder.java
  62. +2 −2 ...-java-servlet/src/main/java/graphql/kickstart/servlet/context/DefaultGraphQLWebSocketContext.java
  63. +3 −3 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/context/GraphQLServletContext.java
  64. +4 −4 ...ql-java-servlet/src/main/java/graphql/kickstart/servlet/context/GraphQLServletContextBuilder.java
  65. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/context/GraphQLWebSocketContext.java
  66. +2 −2 ...ql-java-servlet/src/main/java/graphql/kickstart/servlet/core/DefaultGraphQLRootObjectBuilder.java
  67. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/core/GraphQLServletListener.java
  68. +2 −2 ...ql-java-servlet/src/main/java/graphql/kickstart/servlet/core/GraphQLServletRootObjectBuilder.java
  69. +1 −1 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/core/internal/VariableMapper.java
  70. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/input/BatchInputPreProcessor.java
  71. +4 −4 ...hql-java-servlet/src/main/java/graphql/kickstart/servlet/input/GraphQLInvocationInputFactory.java
  72. +2 −2 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/input/NoOpBatchInputPreProcessor.java
  73. +12 −0 graphql-java-servlet/src/main/java/graphql/kickstart/servlet/osgi/GraphQLDirectiveProvider.java
  74. +1 −1 ...et/src/main/java/graphql/kickstart/servlet/subscriptions/FallbackSubscriptionProtocolFactory.java
  75. +1 −1 ...l-java-servlet/src/main/java/graphql/kickstart/servlet/subscriptions/WebSocketSendSubscriber.java
  76. +1 −1 ...t/src/main/java/graphql/kickstart/servlet/subscriptions/WebSocketSubscriptionProtocolFactory.java
  77. +1 −1 ...a-servlet/src/main/java/graphql/kickstart/servlet/subscriptions/WebSocketSubscriptionSession.java
  78. +1 −1 graphql-java-servlet/src/test/groovy/graphql/kickstart/servlet/AbstractGraphQLHttpServletSpec.groovy
  79. +3 −3 graphql-java-servlet/src/test/groovy/graphql/kickstart/servlet/BatchedQueryResponseWriterTest.groovy
  80. +11 −93 graphql-java-servlet/src/test/groovy/graphql/kickstart/servlet/DataLoaderDispatchingSpec.groovy
  81. +40 −2 graphql-java-servlet/src/test/groovy/graphql/kickstart/servlet/OsgiGraphQLHttpServletSpec.groovy
  82. +2 −2 ...ervlet/src/test/groovy/graphql/kickstart/servlet/SingleAsynchronousQueryResponseWriterTest.groovy
  83. +3 −3 graphql-java-servlet/src/test/groovy/graphql/kickstart/servlet/SingleQueryResponseWriterTest.groovy
  84. +2 −2 graphql-java-servlet/src/test/groovy/graphql/kickstart/servlet/TestBatchInputPreProcessor.java
  85. +1 −1 graphql-java-servlet/src/test/groovy/graphql/kickstart/servlet/TestMultipartPart.groovy
  86. +2 −2 graphql-java-servlet/src/test/groovy/graphql/kickstart/servlet/TestUtils.groovy
  87. +3 −3 graphql-java-servlet/src/test/groovy/graphql/kickstart/servlet/cache/CacheReaderTest.groovy
  88. +3 −3 ...java-servlet/src/test/groovy/graphql/kickstart/servlet/cache/CachingHttpRequestInvokerTest.groovy
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
@@ -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
@@ -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 "actions@github.com"
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
24 changes: 12 additions & 12 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
@@ -8,28 +8,28 @@ 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@v3

test:
name: Test run
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
java: [ 8, 11, 15 ]
java: [ 17, 19 ]
needs: validation
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:
@@ -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 11
- 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: 11
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') }}
129 changes: 111 additions & 18 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -6,25 +6,25 @@ 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@v3

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: 8
java-version: 17
- name: Cache Gradle
uses: actions/cache@v3
uses: actions/cache@v4
env:
java-version: 8
java-version: 17
with:
path: |
~/.gradle/caches
@@ -37,22 +37,59 @@ 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: 8
java-version: 17
- name: Cache Gradle
uses: actions/cache@v3
uses: actions/cache@v4
env:
java-version: 8
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: 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
@@ -62,16 +99,72 @@ jobs:
${{ 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