From bed748bf31ca840fabf5a7fe7ca0b691eba25b88 Mon Sep 17 00:00:00 2001 From: Radoslav Husar Date: Tue, 17 Dec 2024 11:10:23 +0100 Subject: [PATCH] MODCLUSTER-848 Move to Java SE 17 as the minimum SE version. Employ maven-wrapper for deterministic builds. --- .github/workflows/ci.yml | 41 +++++++++++------------------------ container/tomcat-11.0/pom.xml | 21 ------------------ pom.xml | 23 ++------------------ 3 files changed, 15 insertions(+), 70 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e1128f15..5d27b08c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,52 +12,37 @@ jobs: strategy: matrix: os: [ ubuntu-latest, windows-latest, macos-latest ] - # Keep this list as: all supported >= 17 LTS JDKs - java-compilation: [ 17, 21 ] # Keep this list as: all supported LTS JDKs, the latest GA JDK, and optionally the latest EA JDK (if available). # https://www.oracle.com/java/technologies/java-se-support-roadmap.html - java: [ 11, 17, 21, 23 ] + java: [ 17, 21, 23 ] steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up JDK ${{ matrix.java-compilation }} (compilation) - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: ${{ matrix.java-compilation }} - - name: Build with Maven using JDK ${{ matrix.java-compilation }} (compilation only) - run: mvn --batch-mode --no-transfer-progress verify --define skipTests=true - - name: Cache local Maven repository - uses: actions/cache@v4 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - name: Set up JDK ${{ matrix.java }} (runtime) + - name: Set up JDK ${{ matrix.java }} uses: actions/setup-java@v4 with: distribution: temurin java-version: ${{ matrix.java }} - - name: Build with Maven using JDK ${{ matrix.java }} + cache: maven + - name: Build with Maven # To support Windows PowerShell, a space between --define property=true is required. - run: mvn --batch-mode --no-transfer-progress --define maven.main.skip=true verify + run: ./mvnw --batch-mode --no-transfer-progress verify # Code Coverage (runs once per matrix) - - name: Build with coverage with Maven using JDK ${{ matrix.runtime }} - if: ${{ matrix.java-compilation == '17' && matrix.java == '11' && matrix.os == 'ubuntu-latest' }} - run: mvn --batch-mode --no-transfer-progress --activate-profiles=coverage --define maven.main.skip=true verify + - name: Build with coverage with Maven using JDK ${{ matrix.java }} + if: ${{ matrix.java == '17' && matrix.os == 'ubuntu-latest' }} + run: ./mvnw --batch-mode --no-transfer-progress --activate-profiles=coverage verify - name: Upload JaCoCo report - if: ${{ matrix.java-compilation == '17' && matrix.java == '11' && matrix.os == 'ubuntu-latest' }} + if: ${{ matrix.java == '17' && matrix.os == 'ubuntu-latest' }} uses: actions/upload-artifact@v4 with: name: jacoco path: code-coverage/target/site/jacoco-aggregate/ # Aggregate Javadoc (runs once per matrix) - - name: Build aggregate Javadoc with Maven using JDK ${{ matrix.runtime }} - if: ${{ matrix.java-compilation == '17' && matrix.java == '17' && matrix.os == 'ubuntu-latest' }} - run: mvn --batch-mode --no-transfer-progress --define skipTests=true verify javadoc:aggregate + - name: Build aggregate Javadoc with Maven using JDK ${{ matrix.java }} + if: ${{ matrix.java == '17' && matrix.os == 'ubuntu-latest' }} + run: ./mvnw --batch-mode --no-transfer-progress --define skipTests=true verify javadoc:aggregate - name: Upload aggregate Javadoc - if: ${{ matrix.java-compilation == '17' && matrix.java == '17' && matrix.os == 'ubuntu-latest' }} + if: ${{ matrix.java == '17' && matrix.os == 'ubuntu-latest' }} uses: actions/upload-artifact@v4 with: name: apidocs diff --git a/container/tomcat-11.0/pom.xml b/container/tomcat-11.0/pom.xml index 331704f0..da67f344 100644 --- a/container/tomcat-11.0/pom.xml +++ b/container/tomcat-11.0/pom.xml @@ -46,25 +46,4 @@ provided - - - - jdk11-skip-tests - - 11 - - - - - org.apache.maven.plugins - maven-surefire-plugin - - true - - - - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index 03ed3255..eb460b7c 100644 --- a/pom.xml +++ b/pom.xml @@ -43,9 +43,8 @@ - - 17 - 11 + 17 + 17 3.6.1.Final @@ -62,20 +61,6 @@ - - - - jdk11-test-only - - - maven.main.skip - true - - - - 11 - - coverage @@ -203,9 +188,6 @@ org.apache.maven.plugins maven-compiler-plugin - - ${jdk.release.version} - default-compile @@ -238,7 +220,6 @@ Thus, the following skippedModules should be a comma separated list of all non-latest Tomcat modules (artifactId) to not add in aggregated Javadoc. See https://maven.apache.org/plugins/maven-javadoc-plugin/javadoc-mojo.html#skippedModules --> mod_cluster-container-tomcat-9.0,mod_cluster-container-tomcat-10.1 - ${jdk.release.version}