From 60e3abf2af1219ee89ad50f4c2394c7ba45e3512 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 13 Jun 2025 08:15:09 +0000 Subject: [PATCH 1/8] Change integration tests default to use built Maven distribution Switch default behavior from using build Maven installation to testing the Maven distribution generated by the current build. This eliminates the need for manual version updates during releases. - Remove hardcoded maven-version property - Align its/ and core-it-suite/ versions with parent project - Keep core-it-support/ artifacts at stable 2.1-SNAPSHOT version - Add maven-from-build profile to preserve old behavior - Update documentation for new usage patterns Default: mvn clean test -Prun-its (tests built distribution) Old behavior: mvn clean test -Prun-its,maven-from-build --- its/core-it-suite/pom.xml | 190 +++++++++++++++++++++++++----------- its/core-it-support/pom.xml | 3 +- its/pom.xml | 68 ++++++------- 3 files changed, 167 insertions(+), 94 deletions(-) diff --git a/its/core-it-suite/pom.xml b/its/core-it-suite/pom.xml index 536a5b90fd29..6bb0069a2791 100644 --- a/its/core-it-suite/pom.xml +++ b/its/core-it-suite/pom.xml @@ -23,7 +23,7 @@ under the License. org.apache.maven.its core-its - 2.1-SNAPSHOT + 4.0.0-rc-4-SNAPSHOT core-it-suite @@ -36,12 +36,22 @@ under the License. mvn clean test -Prun-its - This will subject the Maven version running the build to the integration tests. If you would like to test a different - Maven distribution, you can use the system property "mavenHome" to specify the path of the Maven distribution to test: + This will test the Maven distribution generated by the current build (apache-maven/target/apache-maven-xxx.zip). + + If you would like to test the Maven version running the build instead, use the "maven-from-build" profile: + + mvn clean test -Prun-its,maven-from-build + + The "maven-from-build" profile restores the old default behavior where the integration tests run against the + Maven installation that is executing the build (i.e., the value of ${maven.home}). This is useful when you want + to test against a specific Maven installation without having to build the distribution first. + + You can also specify the path of a specific Maven distribution to test using the "mavenHome" property (this + automatically activates the "maven-from-build" profile): mvn clean test -Prun-its -DmavenHome= - Alternatively, you can just specify the version of a previously installed/deployed Maven distribution which will be + Alternatively, you can specify the version of a previously installed/deployed Maven distribution which will be downloaded, unpacked and tested: mvn clean test -Prun-its -DmavenVersion=2.2.1 @@ -62,8 +72,8 @@ under the License. --> - - ${maven.home} + + ${project.build.directory}/apache-maven ${mavenHome} @@ -80,6 +90,8 @@ under the License. 9.4.57.v20241219 0.1-stub-SNAPSHOT + + 2.1-SNAPSHOT @@ -125,37 +137,37 @@ under the License. org.apache.maven.its maven-it-plugin-bootstrap - ${project.version} + ${core-it-support-version} org.apache.maven.its core-it-component - ${project.version} + ${core-it-support-version} org.apache.maven.its core-it-toolchain - ${project.version} + ${core-it-support-version} org.apache.maven.its core-it-wagon - ${project.version} + ${core-it-support-version} org.apache.maven.its maven-it-helper - ${project.version} + ${core-it-support-version} org.apache.maven.its core-it-extension - ${project.version} + ${core-it-support-version} org.apache.maven.its core-it-javaagent - ${project.version} + ${core-it-support-version} org.apache.maven.plugins @@ -235,227 +247,227 @@ under the License. org.apache.maven.its.plugins maven-it-plugin-active-collection - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-artifact - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-class-loader - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-configuration - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-context-passing - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-dependency-collection - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-dependency-resolution - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-expression - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-error - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-extension-consumer - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-extension-provider - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-fork - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-invalid-descriptor - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-log-file - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-model-interpolation - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-no-default-comp - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-no-project - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-online - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-optional-mojos - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-packaging - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-plugin-dependency - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-project - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-project-interpolation - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-setter - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-singleton-component - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-site - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-toolchain - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-touch - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-uses-properties - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-uses-wagon - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-all - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-plexus-utils-11 - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-plexus-utils-new - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-plexus-component-api - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-log4j - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-extension1 - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-extension2 - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-plexus-lifecycle - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins maven-it-plugin-settings - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins mng-5805-pkg-type-mojo-configuration-extension - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins mng-5805-pkg-type-mojo-configuration-extension2 - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins mng-5805-pkg-type-mojo-configuration-plugin - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins mng-5805-pkg-type-mojo-configuration-plugin-dep - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins mng-5958-pkg-type-extension - ${project.version} + ${core-it-support-version} org.apache.maven.its.plugins mng-6759-resolves-project-dependencies-plugin - ${project.version} + ${core-it-support-version} @@ -539,9 +551,59 @@ under the License. + + + org.apache.maven.plugins + maven-antrun-plugin + + + unpack-built-maven-distro + + run + + process-test-resources + + + + + + + + + + + + + + maven-from-build + + + mavenHome + + + + + ${maven.home} + + + + + + org.apache.maven.plugins + maven-antrun-plugin + + + unpack-built-maven-distro + none + + + + + + mimir @@ -590,7 +652,7 @@ under the License. org.apache.maven apache-maven - ${maven-version} + ${project.version} bin zip @@ -710,6 +772,11 @@ under the License. org.apache.maven.plugins maven-antrun-plugin + + + unpack-built-maven-distro + none + unpack-maven-distro @@ -753,6 +820,11 @@ under the License. org.apache.maven.plugins maven-antrun-plugin + + + unpack-built-maven-distro + none + unpack-maven-distro diff --git a/its/core-it-support/pom.xml b/its/core-it-support/pom.xml index 8f536ad61e27..6db5aabd9dee 100644 --- a/its/core-it-support/pom.xml +++ b/its/core-it-support/pom.xml @@ -23,10 +23,11 @@ under the License. org.apache.maven.its core-its - 2.1-SNAPSHOT + 4.0.0-rc-4-SNAPSHOT core-it-support + 2.1-SNAPSHOT pom Maven Core IT Support diff --git a/its/pom.xml b/its/pom.xml index 2b442de3c393..da15194b2e84 100644 --- a/its/pom.xml +++ b/its/pom.xml @@ -28,7 +28,6 @@ under the License. org.apache.maven.its core-its - 2.1-SNAPSHOT pom Maven Core ITs @@ -73,8 +72,9 @@ under the License. - 4.0.0-rc-4-SNAPSHOT 3.15.1 + + 2.1-SNAPSHOT @@ -82,162 +82,162 @@ under the License. org.apache.maven maven-artifact - ${maven-version} + ${project.version} org.apache.maven maven-builder-support - ${maven-version} + ${project.version} org.apache.maven maven-jline - ${maven-version} + ${project.version} org.apache.maven maven-logging - ${maven-version} + ${project.version} org.apache.maven maven-support - ${maven-version} + ${project.version} org.apache.maven maven-core - ${maven-version} + ${project.version} org.apache.maven maven-impl - ${maven-version} + ${project.version} org.apache.maven maven-embedder - ${maven-version} + ${project.version} org.apache.maven maven-cli - ${maven-version} + ${project.version} org.apache.maven maven-model - ${maven-version} + ${project.version} org.apache.maven maven-api-core - ${maven-version} + ${project.version} org.apache.maven maven-api-annotations - ${maven-version} + ${project.version} org.apache.maven maven-api-model - ${maven-version} + ${project.version} org.apache.maven maven-api-settings - ${maven-version} + ${project.version} org.apache.maven maven-api-spi - ${maven-version} + ${project.version} org.apache.maven maven-api-toolchain - ${maven-version} + ${project.version} org.apache.maven maven-api-plugin - ${maven-version} + ${project.version} org.apache.maven maven-api-xml - ${maven-version} + ${project.version} org.apache.maven maven-api-di - ${maven-version} + ${project.version} org.apache.maven maven-api-metadata - ${maven-version} + ${project.version} org.apache.maven maven-api-cli - ${maven-version} + ${project.version} org.apache.maven maven-di - ${maven-version} + ${project.version} org.apache.maven maven-model-builder - ${maven-version} + ${project.version} org.apache.maven maven-plugin-api - ${maven-version} + ${project.version} org.apache.maven maven-repository-metadata - ${maven-version} + ${project.version} org.apache.maven maven-resolver-provider - ${maven-version} + ${project.version} org.apache.maven maven-settings - ${maven-version} + ${project.version} org.apache.maven maven-settings-builder - ${maven-version} + ${project.version} org.apache.maven maven-toolchain-model - ${maven-version} + ${project.version} org.apache.maven maven-toolchain-builder - ${maven-version} + ${project.version} org.apache.maven maven-xml - ${maven-version} + ${project.version} org.apache.maven maven-compat - ${maven-version} + ${project.version} From b98bfabeeaf947083ad8e79c809b860e02c45536 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 13 Jun 2025 08:40:42 +0000 Subject: [PATCH 2/8] Fix maven-version property reference in core-it-support Add maven-version property to core-it-support/pom.xml that references the parent version (4.0.0-rc-4-SNAPSHOT) to resolve the dependency version for maven-executor in maven-it-helper. This fixes the build error: 'dependencies.dependency.version' for maven-executor must be a valid version but is '${maven-version}' --- its/core-it-support/pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/its/core-it-support/pom.xml b/its/core-it-support/pom.xml index 6db5aabd9dee..587d28c44b6f 100644 --- a/its/core-it-support/pom.xml +++ b/its/core-it-support/pom.xml @@ -33,6 +33,11 @@ under the License. Maven Core IT Support Maven Core Integration Tests support tools. + + + ${project.parent.version} + + maven-it-plugin-bootstrap core-it-plugins From f823ef6c653e19d7a097bf070aae45728c164afe Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 13 Jun 2025 08:41:56 +0000 Subject: [PATCH 3/8] Add documentation for required GitHub Actions workflow update The integration-tests job needs to use the maven-from-build profile since it downloads and uses the built Maven distribution to run the build. Cannot update the workflow directly due to GitHub security restrictions requiring workflow scope for OAuth apps. --- WORKFLOW_UPDATE_NEEDED.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 WORKFLOW_UPDATE_NEEDED.md diff --git a/WORKFLOW_UPDATE_NEEDED.md b/WORKFLOW_UPDATE_NEEDED.md new file mode 100644 index 000000000000..01eb47ccb69a --- /dev/null +++ b/WORKFLOW_UPDATE_NEEDED.md @@ -0,0 +1,23 @@ +# GitHub Actions Workflow Update Required + +## Issue +The GitHub Actions workflow `.github/workflows/maven.yml` needs to be updated to work with the new integration test default behavior. + +## Required Change +In the `integration-tests` job, line 245 needs to be updated from: +```yaml +run: mvn install -e -B -V -Prun-its,mimir +``` + +To: +```yaml +run: mvn install -e -B -V -Prun-its,maven-from-build,mimir +``` + +## Reason +The integration-tests job downloads the built Maven distribution and uses it to run the build. In this context, we want to test the Maven installation that's running the build (which happens to be the built distribution), so we need to use the `maven-from-build` profile. + +Without this change, the default behavior will try to extract the distribution from `apache-maven/target/apache-maven-${project.version}-bin.zip`, which doesn't exist in the CI context where the distribution is downloaded as an artifact. + +## Note +This file can be deleted after the workflow is updated. From ddf8549f96069fdccaf772f2d1f4f8ad9df96c5a Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 13 Jun 2025 08:43:22 +0000 Subject: [PATCH 4/8] Correct workflow update documentation The issue is that the new default behavior expects the distribution at apache-maven/target/ but the CI downloads it as an artifact. The solution is to copy the downloaded distribution to the expected location. --- WORKFLOW_UPDATE_NEEDED.md | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/WORKFLOW_UPDATE_NEEDED.md b/WORKFLOW_UPDATE_NEEDED.md index 01eb47ccb69a..b9c870ee6908 100644 --- a/WORKFLOW_UPDATE_NEEDED.md +++ b/WORKFLOW_UPDATE_NEEDED.md @@ -3,21 +3,33 @@ ## Issue The GitHub Actions workflow `.github/workflows/maven.yml` needs to be updated to work with the new integration test default behavior. +## Problem +The new default behavior expects to find the Maven distribution at: +`apache-maven/target/apache-maven-${project.version}-bin.zip` + +But in the CI workflow, the distribution is downloaded as an artifact to `maven-dist/` directory. + ## Required Change -In the `integration-tests` job, line 245 needs to be updated from: +In the `integration-tests` job, after the "Download Maven distribution" step (around line 216), add a new step to copy the distribution to the expected location: + ```yaml -run: mvn install -e -B -V -Prun-its,mimir + - name: Copy distribution for integration tests + shell: bash + run: | + mkdir -p apache-maven/target + cp maven-dist/apache-maven-*-bin.zip apache-maven/target/ ``` -To: +This should be added before the "Extract Maven distribution" step. + +## Alternative Solution +Instead of copying the file, you could use the `maven-distro` profile: ```yaml -run: mvn install -e -B -V -Prun-its,maven-from-build,mimir +run: mvn install -e -B -V -Prun-its,mimir -DmavenDistro=$PWD/maven-dist/apache-maven-*-bin.zip ``` ## Reason -The integration-tests job downloads the built Maven distribution and uses it to run the build. In this context, we want to test the Maven installation that's running the build (which happens to be the built distribution), so we need to use the `maven-from-build` profile. - -Without this change, the default behavior will try to extract the distribution from `apache-maven/target/apache-maven-${project.version}-bin.zip`, which doesn't exist in the CI context where the distribution is downloaded as an artifact. +The new default behavior extracts and tests the built distribution from the expected location. By copying the downloaded distribution to that location, the default behavior works as intended and we test the actual built distribution. ## Note This file can be deleted after the workflow is updated. From f4726fe3d070d427ff923eb74fd478dfbc080ec2 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 13 Jun 2025 08:48:18 +0000 Subject: [PATCH 5/8] Remove WORKFLOW_UPDATE_NEEDED.md file The file was causing RAT (Release Audit Tool) failures due to missing Apache license header. The workflow update information is already documented in the PR description. --- WORKFLOW_UPDATE_NEEDED.md | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 WORKFLOW_UPDATE_NEEDED.md diff --git a/WORKFLOW_UPDATE_NEEDED.md b/WORKFLOW_UPDATE_NEEDED.md deleted file mode 100644 index b9c870ee6908..000000000000 --- a/WORKFLOW_UPDATE_NEEDED.md +++ /dev/null @@ -1,35 +0,0 @@ -# GitHub Actions Workflow Update Required - -## Issue -The GitHub Actions workflow `.github/workflows/maven.yml` needs to be updated to work with the new integration test default behavior. - -## Problem -The new default behavior expects to find the Maven distribution at: -`apache-maven/target/apache-maven-${project.version}-bin.zip` - -But in the CI workflow, the distribution is downloaded as an artifact to `maven-dist/` directory. - -## Required Change -In the `integration-tests` job, after the "Download Maven distribution" step (around line 216), add a new step to copy the distribution to the expected location: - -```yaml - - name: Copy distribution for integration tests - shell: bash - run: | - mkdir -p apache-maven/target - cp maven-dist/apache-maven-*-bin.zip apache-maven/target/ -``` - -This should be added before the "Extract Maven distribution" step. - -## Alternative Solution -Instead of copying the file, you could use the `maven-distro` profile: -```yaml -run: mvn install -e -B -V -Prun-its,mimir -DmavenDistro=$PWD/maven-dist/apache-maven-*-bin.zip -``` - -## Reason -The new default behavior extracts and tests the built distribution from the expected location. By copying the downloaded distribution to that location, the default behavior works as intended and we test the actual built distribution. - -## Note -This file can be deleted after the workflow is updated. From 099338f6744ea01ac61492f17993679dbcd9eb91 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 13 Jun 2025 09:05:58 +0000 Subject: [PATCH 6/8] Fix POM formatting with Spotless Spotless moved the properties section to follow standard POM element order (after modules, before dependencyManagement). --- its/core-it-support/pom.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/its/core-it-support/pom.xml b/its/core-it-support/pom.xml index 587d28c44b6f..e7051d69db34 100644 --- a/its/core-it-support/pom.xml +++ b/its/core-it-support/pom.xml @@ -33,11 +33,6 @@ under the License. Maven Core IT Support Maven Core Integration Tests support tools. - - - ${project.parent.version} - - maven-it-plugin-bootstrap core-it-plugins @@ -50,6 +45,11 @@ under the License. core-it-javaagent + + + ${project.parent.version} + + From 5e651c826629fed4aff2813216415c0be42e863e Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 13 Jun 2025 09:09:28 +0000 Subject: [PATCH 7/8] Add dependency management for Maven dependencies in core-it-support This ensures that the support artifacts use the correct Maven version (4.0.0-rc-4-SNAPSHOT) instead of their own version (2.1-SNAPSHOT) when referencing Maven dependencies like maven-plugin-api and maven-core. The maven-version property is set to the correct Maven version being tested. --- its/core-it-support/pom.xml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/its/core-it-support/pom.xml b/its/core-it-support/pom.xml index e7051d69db34..580ac3a1edfb 100644 --- a/its/core-it-support/pom.xml +++ b/its/core-it-support/pom.xml @@ -46,12 +46,29 @@ under the License. - - ${project.parent.version} + + 4.0.0-rc-4-SNAPSHOT + + + org.apache.maven + maven-plugin-api + ${maven-version} + + + org.apache.maven + maven-core + ${maven-version} + + + org.apache.maven + maven-executor + ${maven-version} + + org.apache.maven.plugin-tools maven-plugin-annotations From 1a02bfb2b6e0f4666ed987af9990350879c37f97 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 13 Jun 2025 09:35:34 +0000 Subject: [PATCH 8/8] Fix Maven dependency versions in integration tests - Add maven-version property to its/pom.xml set to 4.0.0-rc-4-SNAPSHOT - Update all Maven dependency management entries to use maven-version property - Add maven-executor to dependency management - Remove duplicate dependency management from core-it-support/pom.xml This ensures that integration test support artifacts use the correct Maven version (4.0.0-rc-4-SNAPSHOT) for Maven dependencies instead of their own version (2.1-SNAPSHOT), fixing dependency resolution issues. --- its/core-it-support/maven-it-helper/pom.xml | 4 +- its/core-it-support/pom.xml | 21 ------ its/pom.xml | 71 +++++++++++---------- 3 files changed, 41 insertions(+), 55 deletions(-) diff --git a/its/core-it-support/maven-it-helper/pom.xml b/its/core-it-support/maven-it-helper/pom.xml index eb11a34c386b..ae2d88e65cb4 100644 --- a/its/core-it-support/maven-it-helper/pom.xml +++ b/its/core-it-support/maven-it-helper/pom.xml @@ -34,14 +34,14 @@ under the License. org.apache.maven maven-executor - ${maven-version} + org.apache.maven maven-artifact - 3.6.3 + org.codehaus.plexus diff --git a/its/core-it-support/pom.xml b/its/core-it-support/pom.xml index 580ac3a1edfb..f1a990ecba32 100644 --- a/its/core-it-support/pom.xml +++ b/its/core-it-support/pom.xml @@ -45,29 +45,8 @@ under the License. core-it-javaagent - - - 4.0.0-rc-4-SNAPSHOT - - - - - org.apache.maven - maven-plugin-api - ${maven-version} - - - org.apache.maven - maven-core - ${maven-version} - - - org.apache.maven - maven-executor - ${maven-version} - org.apache.maven.plugin-tools diff --git a/its/pom.xml b/its/pom.xml index da15194b2e84..6aca5ef151ba 100644 --- a/its/pom.xml +++ b/its/pom.xml @@ -73,6 +73,8 @@ under the License. 3.15.1 + + 4.0.0-rc-4-SNAPSHOT 2.1-SNAPSHOT @@ -82,162 +84,167 @@ under the License. org.apache.maven maven-artifact - ${project.version} + ${maven-version} org.apache.maven maven-builder-support - ${project.version} + ${maven-version} org.apache.maven maven-jline - ${project.version} + ${maven-version} org.apache.maven maven-logging - ${project.version} + ${maven-version} org.apache.maven maven-support - ${project.version} + ${maven-version} org.apache.maven maven-core - ${project.version} + ${maven-version} org.apache.maven maven-impl - ${project.version} + ${maven-version} org.apache.maven maven-embedder - ${project.version} + ${maven-version} org.apache.maven maven-cli - ${project.version} + ${maven-version} org.apache.maven maven-model - ${project.version} + ${maven-version} org.apache.maven maven-api-core - ${project.version} + ${maven-version} org.apache.maven maven-api-annotations - ${project.version} + ${maven-version} org.apache.maven maven-api-model - ${project.version} + ${maven-version} org.apache.maven maven-api-settings - ${project.version} + ${maven-version} org.apache.maven maven-api-spi - ${project.version} + ${maven-version} org.apache.maven maven-api-toolchain - ${project.version} + ${maven-version} org.apache.maven maven-api-plugin - ${project.version} + ${maven-version} org.apache.maven maven-api-xml - ${project.version} + ${maven-version} org.apache.maven maven-api-di - ${project.version} + ${maven-version} org.apache.maven maven-api-metadata - ${project.version} + ${maven-version} org.apache.maven maven-api-cli - ${project.version} + ${maven-version} org.apache.maven maven-di - ${project.version} + ${maven-version} org.apache.maven maven-model-builder - ${project.version} + ${maven-version} org.apache.maven maven-plugin-api - ${project.version} + ${maven-version} org.apache.maven maven-repository-metadata - ${project.version} + ${maven-version} org.apache.maven maven-resolver-provider - ${project.version} + ${maven-version} org.apache.maven maven-settings - ${project.version} + ${maven-version} org.apache.maven maven-settings-builder - ${project.version} + ${maven-version} org.apache.maven maven-toolchain-model - ${project.version} + ${maven-version} org.apache.maven maven-toolchain-builder - ${project.version} + ${maven-version} org.apache.maven maven-xml - ${project.version} + ${maven-version} org.apache.maven maven-compat - ${project.version} + ${maven-version} + + + org.apache.maven + maven-executor + ${maven-version}