This is an automated email from the ASF dual-hosted git repository. pkarwasz pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/logging-log4j-transform.git
commit 16871bf843c005540c16dfe8bd5f7aa109c80368 Author: Piotr P. Karwasz <[email protected]> AuthorDate: Fri Apr 28 18:54:08 2023 +0200 Bump JDK version to 17 We build using JDK 17, but with Java 8 bytecode. --- .github/workflows/build.yml | 58 +++++++++++++++--------------------------- .java-version | 2 +- .mvn/jvm.config | 11 ++++++++ log4j-transform-parent/pom.xml | 31 ++++++++++++++-------- pom.xml | 2 +- 5 files changed, 55 insertions(+), 49 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fb7f688..a45045d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,9 +28,7 @@ on: - "**.md" - "**.txt" -permissions: - contents: write - pull-requests: write +permissions: read-all jobs: @@ -47,20 +45,13 @@ jobs: - name: Checkout repository uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # 3.5.2 - - name: Setup JDK 8 + - name: Setup JDK 8 and 17 uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # 3.7.0 with: distribution: temurin - java-version: 8 - java-package: jdk - architecture: x64 - cache: maven - - - name: Setup JDK 11 - uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # 3.7.0 - with: - distribution: temurin - java-version: 11 + java-version: | + 8 + 17 java-package: jdk architecture: x64 cache: maven @@ -69,54 +60,47 @@ jobs: # For details, see: https://maven.apache.org/guides/mini/guide-reproducible-builds.html#how-to-test-my-maven-build-reproducibility - name: Build shell: bash - env: - JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} run: | ./mvnw \ --show-version --batch-mode --errors --no-transfer-progress \ -DtrimStackTrace=false \ -DinstallAtEnd=true \ + -Pjava8-tests clean install # `clean verify artifact:compare` is required to generate the build reproducibility report. # For details, see: https://maven.apache.org/guides/mini/guide-reproducible-builds.html#how-to-test-my-maven-build-reproducibility - name: Report build reproducibility + id: report-reproducible + timeout-minutes: 10 shell: bash - env: - JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} run: | ./mvnw \ --show-version --batch-mode --errors --no-transfer-progress \ -DskipTests=true \ clean verify artifact:compare - - name: Verify build reproducibility - shell: bash - run: | - for report_file in target/*.buildcompare **/target/*.buildcompare; do - if ! grep -q "^ko=0$" "$report_file"; then - echo "Spotted build reproducibility failure in \`$report_file\`:" - cat "$report_file" - exit 1 - fi - done + - name: Upload reproducibility failure context artifacts + if: failure() + uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # 3.1.2 + with: + name: reproducibility-failure-context-${{matrix.os}} + path: | + **/target/*.buildcompare + **/target/*.jar + **/target/reference/*.jar merge: runs-on: ubuntu-latest + if: github.event_name == 'pull_request' && github.actor == 'dependabot[bot]' needs: build + permissions: + contents: write + pull-requests: write steps: - - - name: "[dependabot] Fetch metadata" - id: metadata - if: github.event_name == 'pull_request' && github.actor == 'dependabot[bot]' - uses: dependabot/[email protected] - with: - github-token: "${{ secrets.GITHUB_TOKEN }}" - - name: "[dependabot] Auto-merge the PR" - if: github.event_name == 'pull_request' && github.actor == 'dependabot[bot]' run: gh pr merge --auto --squash "$PR_URL" env: PR_URL: ${{ github.event.pull_request.html_url }} diff --git a/.java-version b/.java-version index b4de394..98d9bcb 100644 --- a/.java-version +++ b/.java-version @@ -1 +1 @@ -11 +17 diff --git a/.mvn/jvm.config b/.mvn/jvm.config new file mode 100644 index 0000000..6f7d1c8 --- /dev/null +++ b/.mvn/jvm.config @@ -0,0 +1,11 @@ +-Djava.awt.headless=true +--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.main=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED +--add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED +--add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED diff --git a/log4j-transform-parent/pom.xml b/log4j-transform-parent/pom.xml index 53fdf84..1558218 100644 --- a/log4j-transform-parent/pom.xml +++ b/log4j-transform-parent/pom.xml @@ -54,7 +54,6 @@ <findsecbugs-plugin.version>1.12.0</findsecbugs-plugin.version> <maven-invoker-plugin.version>3.5.1</maven-invoker-plugin.version> <spotbugs-maven-plugin.version>4.7.3.4</spotbugs-maven-plugin.version> - <surefire.toolchain.range>[1.8, 9)</surefire.toolchain.range> <surefire.version>3.0.0-M7</surefire.version> </properties> <dependencyManagement> @@ -241,15 +240,6 @@ </execution> </executions> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <configuration> - <jdkToolchain> - <version>${surefire.toolchain.range}</version> - </jdkToolchain> - </configuration> - </plugin> <!-- Configuration here must match the one in `.editorconfig`! --> <plugin> <groupId>com.github.spotbugs</groupId> @@ -275,4 +265,25 @@ </plugin> </plugins> </build> + <profiles> + <profile> + <id>java8-tests</id> + <properties> + <surefire.toolchain.range>[1.8, 9)</surefire.toolchain.range> + </properties> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <jdkToolchain> + <version>${surefire.toolchain.range}</version> + </jdkToolchain> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> </project> diff --git a/pom.xml b/pom.xml index 62632b4..c91038f 100644 --- a/pom.xml +++ b/pom.xml @@ -161,7 +161,7 @@ `minimalJavaBuildVersion` is used for enforcing the compiler version. We will use `java.version` to enforce the target JVM byte code, which is 8. --> - <minimalJavaBuildVersion>[11,12)</minimalJavaBuildVersion> + <minimalJavaBuildVersion>[17,18)</minimalJavaBuildVersion> <java.version>8</java.version> <!-- `project.build.outputTimestamp` is required for reproducible builds: https://maven.apache.org/guides/mini/guide-reproducible-builds.html --> <project.build.outputTimestamp>0</project.build.outputTimestamp>
