From 94b1281069711ecf13b5f7218a0f72f6851749ef Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 30 Sep 2025 20:43:56 +0200 Subject: [PATCH 1/4] Build by JDK 25 --- .github/workflows/maven-verify.yml | 17 +++++++++++------ .../it/MavenIT0009GoalConfigurationTest.java | 10 ++++++++++ .../src/test/resources-filtered/bootstrap.txt | 2 +- .../src/test/resources/mng-7045/pom.xml | 6 +++--- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index fcb2d9e84..ada9fc664 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -19,6 +19,11 @@ name: Java CI on: [push, pull_request] +# allow single build per branch or PR +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + # clear all permissions for GITHUB_TOKEN permissions: {} @@ -30,26 +35,26 @@ jobs: strategy: matrix: - os: [ubuntu-latest] - java: [8, 11, 17, 21, 24] + os: [ubuntu-latest,windows-latest, macOS-latest] + java: [8, 11, 17, 21, 25] fail-fast: false runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: persist-credentials: false - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 with: java-version: ${{ matrix.java }} - distribution: 'temurin' + distribution: 'zulu' cache: 'maven' - name: Set up Maven - run: mvn --errors --batch-mode --show-version wrapper:wrapper "-Dtype=only-script" "-Dmaven=3.9.11" + run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.4:wrapper "-Dmaven=3.9.11" - name: Running integration tests run: "./mvnw -B clean install -Prun-its,embedded -Dmaven.repo.local=`pwd`/repo" diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenIT0009GoalConfigurationTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenIT0009GoalConfigurationTest.java index 3ad8bb2ea..805f1256f 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/MavenIT0009GoalConfigurationTest.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenIT0009GoalConfigurationTest.java @@ -23,6 +23,9 @@ import org.apache.maven.shared.verifier.Verifier; import org.apache.maven.shared.verifier.util.ResourceExtractor; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledIf; +import org.junit.jupiter.api.condition.JRE; +import org.junit.jupiter.api.condition.OS; public class MavenIT0009GoalConfigurationTest extends AbstractMavenIntegrationTestCase { @@ -37,6 +40,9 @@ public MavenIT0009GoalConfigurationTest() { * @throws Exception in case of failure */ @Test + @DisabledIf( + value = "isWindowsWithJDK25", + disabledReason = "JDK-25 - JDK-8354450 files ending with space are not supported on Windows") public void testit0009() throws Exception { boolean supportSpaceInXml = matchesVersionRange("[3.1.0,)"); @@ -52,4 +58,8 @@ public void testit0009() throws Exception { verifier.verifyFileNotPresent("target/bad-item"); verifier.verifyErrorFreeLog(); } + + static boolean isWindowsWithJDK25() { + return OS.WINDOWS.isCurrentOs() && JRE.currentVersionNumber() >= 25; + } } diff --git a/core-it-suite/src/test/resources-filtered/bootstrap.txt b/core-it-suite/src/test/resources-filtered/bootstrap.txt index 073112ea6..259e9e94c 100644 --- a/core-it-suite/src/test/resources-filtered/bootstrap.txt +++ b/core-it-suite/src/test/resources-filtered/bootstrap.txt @@ -142,7 +142,7 @@ org.apache.maven:maven-script-ant:2.1.0 org.apache.maven:maven-settings-builder:3.1.1 org.apache.maven:maven-settings:3.1.1 org.apache.maven.plugin-testing:maven-plugin-testing-harness:3.3.0 -org.codehaus.gmavenplus:gmavenplus-plugin:1.11.0 +org.codehaus.gmavenplus:gmavenplus-plugin:4.2.1 org.codehaus.modello:modello-maven-plugin:2.1.1 org.codehaus.mojo:build-helper-maven-plugin:3.2.0 org.codehaus.mojo:flatten-maven-plugin:1.0.0 diff --git a/core-it-suite/src/test/resources/mng-7045/pom.xml b/core-it-suite/src/test/resources/mng-7045/pom.xml index 564241cba..c6aac4c80 100644 --- a/core-it-suite/src/test/resources/mng-7045/pom.xml +++ b/core-it-suite/src/test/resources/mng-7045/pom.xml @@ -32,7 +32,7 @@ org.codehaus.gmavenplus gmavenplus-plugin - 1.11.0 + 4.2.1 org.apache.groovy groovy-ant - 4.0.26 + 4.0.28 runtime org.apache.groovy groovy - 4.0.26 + 4.0.28 runtime From 481e89803f0cef3634272f580fb33d272201cafa Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 30 Sep 2025 21:10:54 +0200 Subject: [PATCH 2/4] shorter path for windows --- .../MavenITmng5774ConfigurationProcessorsTest.java | 4 ++-- .../.mvn/extensions.xml | 0 .../build-with-one-processor-valid/pom.xml | 0 .../src/main/resources/result.properties | 0 .../.mvn/extensions.xml | 0 .../build-with-two-processors-invalid/pom.xml | 0 .../configuration-processor-one/.gitignore | 0 .../configuration-processor-one/pom.xml | 0 .../ConfigurationProcessorOne.java | 0 .../configuration-processor-two/.gitignore | 0 .../configuration-processor-two/pom.xml | 0 .../ConfigurationProcessorTwo.java | 0 .../repo/.gitattributes | 0 .../maven-it-configuration-processor-one-0.1.jar | Bin .../maven-it-configuration-processor-one-0.1.pom | 0 .../maven-it-configuration-processor-two-0.1.jar | Bin .../maven-it-configuration-processor-two-0.1.pom | 0 .../settings-template.xml | 0 18 files changed, 2 insertions(+), 2 deletions(-) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/build-with-one-processor-valid/.mvn/extensions.xml (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/build-with-one-processor-valid/pom.xml (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/build-with-one-processor-valid/src/main/resources/result.properties (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/build-with-two-processors-invalid/.mvn/extensions.xml (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/build-with-two-processors-invalid/pom.xml (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/configuration-processor-one/.gitignore (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/configuration-processor-one/pom.xml (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/configuration-processor-one/src/main/java/org/apache/maven/its/configuration_processors/ConfigurationProcessorOne.java (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/configuration-processor-two/.gitignore (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/configuration-processor-two/pom.xml (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/configuration-processor-two/src/main/java/org/apache/maven/its/configuration_processors/ConfigurationProcessorTwo.java (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/repo/.gitattributes (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-one/0.1/maven-it-configuration-processor-one-0.1.jar (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-one/0.1/maven-it-configuration-processor-one-0.1.pom (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-two/0.1/maven-it-configuration-processor-two-0.1.jar (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-two/0.1/maven-it-configuration-processor-two-0.1.pom (100%) rename core-it-suite/src/test/resources/{mng-5774-configuration-processors => mng-5774}/settings-template.xml (100%) diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5774ConfigurationProcessorsTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5774ConfigurationProcessorsTest.java index 61c683d71..97c1165d2 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5774ConfigurationProcessorsTest.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5774ConfigurationProcessorsTest.java @@ -33,7 +33,7 @@ public MavenITmng5774ConfigurationProcessorsTest() { @Test public void testBehaviourWhereThereIsOneUserSuppliedConfigurationProcessor() throws Exception { - File testDir = ResourceExtractor.simpleExtractResources(getClass(), "/mng-5774-configuration-processors"); + File testDir = ResourceExtractor.simpleExtractResources(getClass(), "/mng-5774"); Verifier verifier = newVerifier(testDir.getAbsolutePath()); verifier.filterFile("settings-template.xml", "settings.xml", "UTF-8"); @@ -56,7 +56,7 @@ public void testBehaviourWhereThereIsOneUserSuppliedConfigurationProcessor() thr @Test public void testBehaviourWhereThereAreTwoUserSuppliedConfigurationProcessor() throws Exception { - File testDir = ResourceExtractor.simpleExtractResources(getClass(), "/mng-5774-configuration-processors"); + File testDir = ResourceExtractor.simpleExtractResources(getClass(), "/mng-5774"); Verifier verifier = newVerifier(testDir.getAbsolutePath()); verifier.filterFile("settings-template.xml", "settings.xml", "UTF-8"); diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/build-with-one-processor-valid/.mvn/extensions.xml b/core-it-suite/src/test/resources/mng-5774/build-with-one-processor-valid/.mvn/extensions.xml similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/build-with-one-processor-valid/.mvn/extensions.xml rename to core-it-suite/src/test/resources/mng-5774/build-with-one-processor-valid/.mvn/extensions.xml diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/build-with-one-processor-valid/pom.xml b/core-it-suite/src/test/resources/mng-5774/build-with-one-processor-valid/pom.xml similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/build-with-one-processor-valid/pom.xml rename to core-it-suite/src/test/resources/mng-5774/build-with-one-processor-valid/pom.xml diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/build-with-one-processor-valid/src/main/resources/result.properties b/core-it-suite/src/test/resources/mng-5774/build-with-one-processor-valid/src/main/resources/result.properties similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/build-with-one-processor-valid/src/main/resources/result.properties rename to core-it-suite/src/test/resources/mng-5774/build-with-one-processor-valid/src/main/resources/result.properties diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/build-with-two-processors-invalid/.mvn/extensions.xml b/core-it-suite/src/test/resources/mng-5774/build-with-two-processors-invalid/.mvn/extensions.xml similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/build-with-two-processors-invalid/.mvn/extensions.xml rename to core-it-suite/src/test/resources/mng-5774/build-with-two-processors-invalid/.mvn/extensions.xml diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/build-with-two-processors-invalid/pom.xml b/core-it-suite/src/test/resources/mng-5774/build-with-two-processors-invalid/pom.xml similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/build-with-two-processors-invalid/pom.xml rename to core-it-suite/src/test/resources/mng-5774/build-with-two-processors-invalid/pom.xml diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-one/.gitignore b/core-it-suite/src/test/resources/mng-5774/configuration-processor-one/.gitignore similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-one/.gitignore rename to core-it-suite/src/test/resources/mng-5774/configuration-processor-one/.gitignore diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-one/pom.xml b/core-it-suite/src/test/resources/mng-5774/configuration-processor-one/pom.xml similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-one/pom.xml rename to core-it-suite/src/test/resources/mng-5774/configuration-processor-one/pom.xml diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-one/src/main/java/org/apache/maven/its/configuration_processors/ConfigurationProcessorOne.java b/core-it-suite/src/test/resources/mng-5774/configuration-processor-one/src/main/java/org/apache/maven/its/configuration_processors/ConfigurationProcessorOne.java similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-one/src/main/java/org/apache/maven/its/configuration_processors/ConfigurationProcessorOne.java rename to core-it-suite/src/test/resources/mng-5774/configuration-processor-one/src/main/java/org/apache/maven/its/configuration_processors/ConfigurationProcessorOne.java diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-two/.gitignore b/core-it-suite/src/test/resources/mng-5774/configuration-processor-two/.gitignore similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-two/.gitignore rename to core-it-suite/src/test/resources/mng-5774/configuration-processor-two/.gitignore diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-two/pom.xml b/core-it-suite/src/test/resources/mng-5774/configuration-processor-two/pom.xml similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-two/pom.xml rename to core-it-suite/src/test/resources/mng-5774/configuration-processor-two/pom.xml diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-two/src/main/java/org/apache/maven/its/configuration_processors/ConfigurationProcessorTwo.java b/core-it-suite/src/test/resources/mng-5774/configuration-processor-two/src/main/java/org/apache/maven/its/configuration_processors/ConfigurationProcessorTwo.java similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/configuration-processor-two/src/main/java/org/apache/maven/its/configuration_processors/ConfigurationProcessorTwo.java rename to core-it-suite/src/test/resources/mng-5774/configuration-processor-two/src/main/java/org/apache/maven/its/configuration_processors/ConfigurationProcessorTwo.java diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/repo/.gitattributes b/core-it-suite/src/test/resources/mng-5774/repo/.gitattributes similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/repo/.gitattributes rename to core-it-suite/src/test/resources/mng-5774/repo/.gitattributes diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-one/0.1/maven-it-configuration-processor-one-0.1.jar b/core-it-suite/src/test/resources/mng-5774/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-one/0.1/maven-it-configuration-processor-one-0.1.jar similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-one/0.1/maven-it-configuration-processor-one-0.1.jar rename to core-it-suite/src/test/resources/mng-5774/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-one/0.1/maven-it-configuration-processor-one-0.1.jar diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-one/0.1/maven-it-configuration-processor-one-0.1.pom b/core-it-suite/src/test/resources/mng-5774/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-one/0.1/maven-it-configuration-processor-one-0.1.pom similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-one/0.1/maven-it-configuration-processor-one-0.1.pom rename to core-it-suite/src/test/resources/mng-5774/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-one/0.1/maven-it-configuration-processor-one-0.1.pom diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-two/0.1/maven-it-configuration-processor-two-0.1.jar b/core-it-suite/src/test/resources/mng-5774/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-two/0.1/maven-it-configuration-processor-two-0.1.jar similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-two/0.1/maven-it-configuration-processor-two-0.1.jar rename to core-it-suite/src/test/resources/mng-5774/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-two/0.1/maven-it-configuration-processor-two-0.1.jar diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-two/0.1/maven-it-configuration-processor-two-0.1.pom b/core-it-suite/src/test/resources/mng-5774/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-two/0.1/maven-it-configuration-processor-two-0.1.pom similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-two/0.1/maven-it-configuration-processor-two-0.1.pom rename to core-it-suite/src/test/resources/mng-5774/repo/org/apache/maven/its/it-configuration-processors/maven-it-configuration-processor-two/0.1/maven-it-configuration-processor-two-0.1.pom diff --git a/core-it-suite/src/test/resources/mng-5774-configuration-processors/settings-template.xml b/core-it-suite/src/test/resources/mng-5774/settings-template.xml similarity index 100% rename from core-it-suite/src/test/resources/mng-5774-configuration-processors/settings-template.xml rename to core-it-suite/src/test/resources/mng-5774/settings-template.xml From 9e8d4e752691c2584469bd21601e97ade814091c Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 30 Sep 2025 21:15:46 +0200 Subject: [PATCH 3/4] use bash for executing commands --- .github/workflows/maven-verify.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index ada9fc664..2a68f0ac3 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -55,6 +55,8 @@ jobs: - name: Set up Maven run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.4:wrapper "-Dmaven=3.9.11" + shell: bash - name: Running integration tests - run: "./mvnw -B clean install -Prun-its,embedded -Dmaven.repo.local=`pwd`/repo" + run: ./mvnw -B clean install -Prun-its,embedded -Dmaven.repo.local=`pwd`/repo + shell: bash From dad3b7cca5f55ccd4dd09a10e386df9909d748ef Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 30 Sep 2025 22:44:40 +0200 Subject: [PATCH 4/4] ITgh10937 is for 3.9.12 --- .../maven/it/MavenITgh10937QuotedPipesInMavenOptsTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITgh10937QuotedPipesInMavenOptsTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITgh10937QuotedPipesInMavenOptsTest.java index bea3532fe..00a2bb2db 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITgh10937QuotedPipesInMavenOptsTest.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITgh10937QuotedPipesInMavenOptsTest.java @@ -34,7 +34,7 @@ class MavenITgh10937QuotedPipesInMavenOptsTest extends AbstractMavenIntegrationTestCase { MavenITgh10937QuotedPipesInMavenOptsTest() { - super("[3.0.0,)"); + super("[3.9.12,)"); } /**