From cf805d87e0be38d4d5d71d9101cfa5b53e01b010 Mon Sep 17 00:00:00 2001 From: Anuraag Agrawal Date: Sat, 19 Mar 2022 07:38:51 +0900 Subject: [PATCH] Run Gradle and compile code with Java 17 (#5623) * Run Gradle and compile code with Java 17 * Fix examples * Update spotless version * Add spotless Java 17 workaround Co-authored-by: Trask Stalnaker --- .github/workflows/ci.yml | 4 ++-- .github/workflows/nightly-codeql-analysis.yml | 4 ++-- .github/workflows/pr-smoke-test-fake-backend-images.yml | 8 ++++---- .github/workflows/pr-smoke-test-play-images.yml | 4 ++-- .github/workflows/pr-smoke-test-servlet-images.yml | 4 ++-- .../workflows/publish-smoke-test-fake-backend-images.yml | 4 ++-- .github/workflows/publish-smoke-test-play-images.yml | 4 ++-- .github/workflows/publish-smoke-test-servlet-images.yml | 4 ++-- .github/workflows/release-gradle-plugins.yml | 4 ++-- .github/workflows/release.yml | 4 ++-- .github/workflows/reusable-build.yml | 4 ++-- .github/workflows/reusable-examples.yml | 4 ++-- .github/workflows/reusable-muzzle.yml | 4 ++-- .github/workflows/reusable-smoke-test-images.yml | 4 ++-- .github/workflows/reusable-smoke-test.yml | 4 ++-- .github/workflows/reusable-test-latest-deps.yml | 4 ++-- .github/workflows/reusable-test.yml | 4 ++-- .../src/main/kotlin/otel.java-conventions.gradle.kts | 2 +- examples/distro/agent/build.gradle | 2 +- examples/distro/build.gradle | 2 +- examples/distro/custom/build.gradle | 2 +- examples/distro/gradle.properties | 7 +++++++ examples/distro/instrumentation/build.gradle | 2 +- examples/extension/build.gradle | 4 ++-- examples/extension/gradle.properties | 7 +++++++ 25 files changed, 57 insertions(+), 43 deletions(-) create mode 100644 examples/distro/gradle.properties create mode 100644 examples/extension/gradle.properties diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 882e80fa93..96b705f2bf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -103,11 +103,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Build and publish artifact snapshots env: diff --git a/.github/workflows/nightly-codeql-analysis.yml b/.github/workflows/nightly-codeql-analysis.yml index 879b57681e..cc84d07072 100644 --- a/.github/workflows/nightly-codeql-analysis.yml +++ b/.github/workflows/nightly-codeql-analysis.yml @@ -17,11 +17,11 @@ jobs: with: languages: java - - name: Setup Java 11 + - name: Setup Java uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Autobuild uses: github/codeql-action/autobuild@v1 diff --git a/.github/workflows/pr-smoke-test-fake-backend-images.yml b/.github/workflows/pr-smoke-test-fake-backend-images.yml index 386f9a72be..7bc5dfc882 100644 --- a/.github/workflows/pr-smoke-test-fake-backend-images.yml +++ b/.github/workflows/pr-smoke-test-fake-backend-images.yml @@ -12,11 +12,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Build Docker Image uses: gradle/gradle-build-action@v2 @@ -36,11 +36,11 @@ jobs: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Build Docker Image uses: gradle/gradle-build-action@v2 diff --git a/.github/workflows/pr-smoke-test-play-images.yml b/.github/workflows/pr-smoke-test-play-images.yml index 45ca482ac0..333124d091 100644 --- a/.github/workflows/pr-smoke-test-play-images.yml +++ b/.github/workflows/pr-smoke-test-play-images.yml @@ -22,11 +22,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Set up gradle cache uses: gradle/gradle-build-action@v2 diff --git a/.github/workflows/pr-smoke-test-servlet-images.yml b/.github/workflows/pr-smoke-test-servlet-images.yml index 80ec4e2bc8..8296ded254 100644 --- a/.github/workflows/pr-smoke-test-servlet-images.yml +++ b/.github/workflows/pr-smoke-test-servlet-images.yml @@ -33,11 +33,11 @@ jobs: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Set up gradle cache uses: gradle/gradle-build-action@v2 diff --git a/.github/workflows/publish-smoke-test-fake-backend-images.yml b/.github/workflows/publish-smoke-test-fake-backend-images.yml index c96b93c125..ea6fbdbee5 100644 --- a/.github/workflows/publish-smoke-test-fake-backend-images.yml +++ b/.github/workflows/publish-smoke-test-fake-backend-images.yml @@ -15,11 +15,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Login to GitHub Package Registry uses: docker/login-action@v1.10.0 diff --git a/.github/workflows/publish-smoke-test-play-images.yml b/.github/workflows/publish-smoke-test-play-images.yml index b16ea1121a..e20d4c34cc 100644 --- a/.github/workflows/publish-smoke-test-play-images.yml +++ b/.github/workflows/publish-smoke-test-play-images.yml @@ -25,11 +25,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Login to GitHub Package Registry uses: docker/login-action@v1.10.0 diff --git a/.github/workflows/publish-smoke-test-servlet-images.yml b/.github/workflows/publish-smoke-test-servlet-images.yml index 8853cda618..c10fed264b 100644 --- a/.github/workflows/publish-smoke-test-servlet-images.yml +++ b/.github/workflows/publish-smoke-test-servlet-images.yml @@ -39,11 +39,11 @@ jobs: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Login to GitHub Package Registry uses: docker/login-action@v1.10.0 diff --git a/.github/workflows/release-gradle-plugins.yml b/.github/workflows/release-gradle-plugins.yml index 24f311c177..6f80d8fdee 100644 --- a/.github/workflows/release-gradle-plugins.yml +++ b/.github/workflows/release-gradle-plugins.yml @@ -38,11 +38,11 @@ jobs: with: ref: ${{ github.event.inputs.release-branch-name }} - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Build and publish gradle plugins uses: gradle/gradle-build-action@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f1eba11f31..a862b0a0e2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,11 +32,11 @@ jobs: # tags are needed for the generate-release-contributors.sh script fetch-depth: 0 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Build and publish artifacts uses: gradle/gradle-build-action@v2 diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index 00ded31e21..0651f59545 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -23,11 +23,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Start deadlock detector run: .github/scripts/deadlock-detector.sh diff --git a/.github/workflows/reusable-examples.yml b/.github/workflows/reusable-examples.yml index c59bfa1d3f..87a3effaf3 100644 --- a/.github/workflows/reusable-examples.yml +++ b/.github/workflows/reusable-examples.yml @@ -16,11 +16,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Set up gradle cache uses: gradle/gradle-build-action@v2 diff --git a/.github/workflows/reusable-muzzle.yml b/.github/workflows/reusable-muzzle.yml index c708955e32..38d4383c48 100644 --- a/.github/workflows/reusable-muzzle.yml +++ b/.github/workflows/reusable-muzzle.yml @@ -20,11 +20,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Run muzzle uses: gradle/gradle-build-action@v2 diff --git a/.github/workflows/reusable-smoke-test-images.yml b/.github/workflows/reusable-smoke-test-images.yml index 58b111caf5..b8fd2a9490 100644 --- a/.github/workflows/reusable-smoke-test-images.yml +++ b/.github/workflows/reusable-smoke-test-images.yml @@ -28,11 +28,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Login to GitHub Package Registry if: ${{ inputs.publish }} diff --git a/.github/workflows/reusable-smoke-test.yml b/.github/workflows/reusable-smoke-test.yml index b31abd5488..3bd5a96617 100644 --- a/.github/workflows/reusable-smoke-test.yml +++ b/.github/workflows/reusable-smoke-test.yml @@ -49,11 +49,11 @@ jobs: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 - name: Test env: diff --git a/.github/workflows/reusable-test-latest-deps.yml b/.github/workflows/reusable-test-latest-deps.yml index 7abb2d4d7b..14f98174cb 100644 --- a/.github/workflows/reusable-test-latest-deps.yml +++ b/.github/workflows/reusable-test-latest-deps.yml @@ -33,12 +33,12 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle if: ${{ !inputs.skip }} uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 # vaadin tests use pnpm - name: Cache pnpm modules diff --git a/.github/workflows/reusable-test.yml b/.github/workflows/reusable-test.yml index d63081b55a..1674172ff3 100644 --- a/.github/workflows/reusable-test.yml +++ b/.github/workflows/reusable-test.yml @@ -40,11 +40,11 @@ jobs: distribution: ${{ matrix.vm == 'hotspot' && 'temurin' || 'adopt-openj9'}} java-version: ${{ matrix.test-java-version }} - - name: Set up JDK 11 for running Gradle + - name: Set up JDK for running Gradle uses: actions/setup-java@v2 with: distribution: temurin - java-version: 11 + java-version: 17 # vaadin tests use pnpm - name: Cache pnpm modules diff --git a/conventions/src/main/kotlin/otel.java-conventions.gradle.kts b/conventions/src/main/kotlin/otel.java-conventions.gradle.kts index 5465555d15..965c56054a 100644 --- a/conventions/src/main/kotlin/otel.java-conventions.gradle.kts +++ b/conventions/src/main/kotlin/otel.java-conventions.gradle.kts @@ -27,7 +27,7 @@ afterEvaluate { } // Version to use to compile code and run tests. -val DEFAULT_JAVA_VERSION = JavaVersion.VERSION_11 +val DEFAULT_JAVA_VERSION = JavaVersion.VERSION_17 java { toolchain { diff --git a/examples/distro/agent/build.gradle b/examples/distro/agent/build.gradle index 81d45d116f..42b7a2964b 100644 --- a/examples/distro/agent/build.gradle +++ b/examples/distro/agent/build.gradle @@ -1,5 +1,5 @@ plugins { - id("com.github.johnrengelman.shadow") version "6.0.0" + id("com.github.johnrengelman.shadow") version "7.1.2" } apply from: "$rootDir/gradle/shadow.gradle" diff --git a/examples/distro/build.gradle b/examples/distro/build.gradle index 2aaebbc5c5..011656eac5 100644 --- a/examples/distro/build.gradle +++ b/examples/distro/build.gradle @@ -8,7 +8,7 @@ buildscript { } } dependencies { - classpath "com.diffplug.spotless:spotless-plugin-gradle:6.1.2" + classpath "com.diffplug.spotless:spotless-plugin-gradle:6.3.0" } } diff --git a/examples/distro/custom/build.gradle b/examples/distro/custom/build.gradle index 7a4065dd79..8ea1309d3b 100644 --- a/examples/distro/custom/build.gradle +++ b/examples/distro/custom/build.gradle @@ -1,6 +1,6 @@ plugins { id "java" - id("com.github.johnrengelman.shadow") version "6.0.0" + id("com.github.johnrengelman.shadow") version "7.1.2" } apply from: "$rootDir/gradle/shadow.gradle" diff --git a/examples/distro/gradle.properties b/examples/distro/gradle.properties new file mode 100644 index 0000000000..191633ce10 --- /dev/null +++ b/examples/distro/gradle.properties @@ -0,0 +1,7 @@ +# workaround for https://github.com/diffplug/spotless/issues/834 +org.gradle.jvmargs=\ + --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED diff --git a/examples/distro/instrumentation/build.gradle b/examples/distro/instrumentation/build.gradle index 3c7ade182a..9c9a80761a 100644 --- a/examples/distro/instrumentation/build.gradle +++ b/examples/distro/instrumentation/build.gradle @@ -1,5 +1,5 @@ plugins { - id("com.github.johnrengelman.shadow") version "6.0.0" + id("com.github.johnrengelman.shadow") version "7.1.2" } apply from: "$rootDir/gradle/shadow.gradle" diff --git a/examples/extension/build.gradle b/examples/extension/build.gradle index 701f3dd73c..7e9ff38629 100644 --- a/examples/extension/build.gradle +++ b/examples/extension/build.gradle @@ -10,8 +10,8 @@ plugins { into a single jar. See https://imperceptiblethoughts.com/shadow/ for more details about Shadow plugin. */ - id "com.github.johnrengelman.shadow" version "6.1.0" - id "com.diffplug.spotless" version "6.1.2" + id "com.github.johnrengelman.shadow" version "7.1.2" + id "com.diffplug.spotless" version "6.3.0" id "io.opentelemetry.instrumentation.muzzle-generation" version "1.13.0-alpha-SNAPSHOT" id "io.opentelemetry.instrumentation.muzzle-check" version "1.13.0-alpha-SNAPSHOT" diff --git a/examples/extension/gradle.properties b/examples/extension/gradle.properties new file mode 100644 index 0000000000..191633ce10 --- /dev/null +++ b/examples/extension/gradle.properties @@ -0,0 +1,7 @@ +# workaround for https://github.com/diffplug/spotless/issues/834 +org.gradle.jvmargs=\ + --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \ + --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED