diff --git a/.gitattributes b/.gitattributes
index 3bb3b5ea8a4d..150d31a7f0f4 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -6,3 +6,5 @@
*.css text
*.js text
*.sql text
+*.jar binary
+*.war binary
diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml
index 4e98bf59cee6..d948851f722d 100644
--- a/apache-maven/pom.xml
+++ b/apache-maven/pom.xml
@@ -353,6 +353,34 @@ under the License.
+
+ run-its
+
+
+
+ maven-assembly-plugin
+
+
+ create-distribution-dir
+
+ single
+
+ package
+
+ ./
+ false
+ false
+ ${basedir}/target/maven
+
+ src/assembly/dir.xml
+
+
+
+
+
+
+
+
apache-release
diff --git a/its/.asf.yaml b/its/.asf.yaml
deleted file mode 100644
index 658ccc8c84ed..000000000000
--- a/its/.asf.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-# see https://s.apache.org/asfyaml
-github:
- description: "Apache Maven core ITs"
- homepage: https://maven.apache.org/core-its
- labels:
- - java
- - build-management
- - maven
- enabled_merge_buttons:
- squash: true
- merge: false
- rebase: true
diff --git a/its/.gitattributes b/its/.gitattributes
deleted file mode 100644
index 556b3b118796..000000000000
--- a/its/.gitattributes
+++ /dev/null
@@ -1,4 +0,0 @@
-# Auto detect text files and perform LF normalization
-*.jar binary
-*.war binary
-
diff --git a/its/.github/dependabot.yml b/its/.github/dependabot.yml
deleted file mode 100644
index 952813794b83..000000000000
--- a/its/.github/dependabot.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-version: 2
-updates:
-
- - package-ecosystem: "maven"
- directory: "/"
- schedule:
- interval: "daily"
-
- - package-ecosystem: "github-actions"
- directory: "/"
- schedule:
- interval: "daily"
-
diff --git a/its/.github/workflows/maven-verify.yml b/its/.github/workflows/maven-verify.yml
deleted file mode 100644
index 88dc784026fe..000000000000
--- a/its/.github/workflows/maven-verify.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-name: Java CI
-
-on: [push, pull_request]
-
-# clear all permissions for GITHUB_TOKEN
-permissions: {}
-
-jobs:
- build:
-
- # execute on any push or pull request from forked repo
- if: github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork )
-
- strategy:
- matrix:
- os: [ubuntu-latest]
- java: [11, 17, 21]
- fail-fast: false
-
- runs-on: ${{ matrix.os }}
-
- steps:
- - uses: actions/checkout@v4
- with:
- persist-credentials: false
-
- - name: Set up JDK
- uses: actions/setup-java@v4
- with:
- java-version: ${{ matrix.java }}
- distribution: 'temurin'
- cache: 'maven'
-
- - name: Set up Maven
- run: mvn --errors --batch-mode --show-version wrapper:wrapper "-Dtype=only-script" "-Dmaven=3.9.7"
-
- - name: Running integration tests
- run: "./mvnw -B clean install -Prun-its,embedded -Dmaven.repo.local=`pwd`/repo"
diff --git a/its/.mvn/readme.txt b/its/.mvn/readme.txt
deleted file mode 100644
index ffbfd18cc003..000000000000
--- a/its/.mvn/readme.txt
+++ /dev/null
@@ -1 +0,0 @@
-.mvn directory should exist in project root
\ No newline at end of file
diff --git a/its/Jenkinsfile b/its/Jenkinsfile
deleted file mode 100644
index b63c1733c072..000000000000
--- a/its/Jenkinsfile
+++ /dev/null
@@ -1,64 +0,0 @@
-#!groovy
-
-pipeline {
- agent any
- // save some io during the build
- options { durabilityHint('PERFORMANCE_OPTIMIZED') }
-
- stages {
- stage("Parallel Stage") {
- parallel {
- stage("Build / Test - mvn latest - JDK8 - ubuntu") {
- agent { node { label 'ubuntu' } }
- steps {
- timeout( time: 180, unit: 'MINUTES' ) {
- mavenBuild( "jdk_1.8_latest", "maven_latest")
- }
- }
- }
- stage("Build / Test - mvn latest - JDK11 - ubuntu") {
- agent { node { label 'ubuntu' } }
- steps {
- timeout( time: 180, unit: 'MINUTES' ) {
- mavenBuild( "jdk_11_latest", "maven_latest")
- }
- }
- }
- stage("Build / Test - mvn latest - JDK8 - windowx") {
- agent { node { label 'Windows' } }
- steps {
- timeout( time: 180, unit: 'MINUTES' ) {
- mavenBuild( "jdk_1.8_latest", "maven_latest")
- }
- }
- }
- stage("Build / Test - mvn latest - JDK11 - windows") {
- agent { node { label 'Windows' } }
- steps {
- timeout( time: 180, unit: 'MINUTES' ) {
- mavenBuild( "jdk_11_latest", "maven_latest")
- }
- }
- }
- }
- }
- }
-}
-
-def mavenBuild(jdk, mvnName) {
- script {
- try {
- withMaven(jdk: "$jdk", maven: "$mvnName", publisherStrategy: 'EXPLICIT', mavenOpts: "-Xms2g -Xmx4g -Djava.awt.headless=true") {
- if (isUnix()) {
- sh "mvn -V clean install -Prun-its,embedded -B"
- } else {
- bat "mvn -V clean install -Prun-its,embedded -B"
- }
- }
- }
- finally
- {
- junit testResults: 'core-it-suite/target/surefire-reports/*.xml', allowEmptyResults: true
- }
- }
-}
diff --git a/its/core-it-suite/pom.xml b/its/core-it-suite/pom.xml
index 41d54ff39c51..471a835d66a8 100644
--- a/its/core-it-suite/pom.xml
+++ b/its/core-it-suite/pom.xml
@@ -580,6 +580,13 @@ under the License.
run-its
+
+ org.apache.maven
+ apache-maven
+ 4.0.0-beta-6-SNAPSHOT
+ bin
+ zip
+
org.apache.maven.wagon
diff --git a/its/core-it-support/core-it-plugins/maven-it-plugin-configuration/src/main/java/org/apache/maven/plugin/coreit/PropertiesUtil.java b/its/core-it-support/core-it-plugins/maven-it-plugin-configuration/src/main/java/org/apache/maven/plugin/coreit/PropertiesUtil.java
index 7d29f7b02631..9d0a9a4414f5 100644
--- a/its/core-it-support/core-it-plugins/maven-it-plugin-configuration/src/main/java/org/apache/maven/plugin/coreit/PropertiesUtil.java
+++ b/its/core-it-support/core-it-plugins/maven-it-plugin-configuration/src/main/java/org/apache/maven/plugin/coreit/PropertiesUtil.java
@@ -104,6 +104,7 @@ public static void serialize(Properties props, String key, Object value) {
} else if (value instanceof Map) {
Map map = (Map) value;
props.setProperty(key, Integer.toString(map.size()));
+ @SuppressWarnings("checkstyle:UnusedLocalVariable")
int i = 0;
for (Iterator it = map.keySet().iterator(); it.hasNext(); i++) {
Object k = it.next();
diff --git a/its/core-it-support/core-it-plugins/maven-it-plugin-expression/src/main/java/org/apache/maven/plugin/coreit/PropertyUtil.java b/its/core-it-support/core-it-plugins/maven-it-plugin-expression/src/main/java/org/apache/maven/plugin/coreit/PropertyUtil.java
index 7e907b047f12..e5dbee2146a9 100644
--- a/its/core-it-support/core-it-plugins/maven-it-plugin-expression/src/main/java/org/apache/maven/plugin/coreit/PropertyUtil.java
+++ b/its/core-it-support/core-it-plugins/maven-it-plugin-expression/src/main/java/org/apache/maven/plugin/coreit/PropertyUtil.java
@@ -87,6 +87,7 @@ private static void store(Properties props, String key, Object obj, Collection v
} else if (obj instanceof Map) {
Map map = (Map) obj;
props.put(key, Integer.toString(map.size()));
+ @SuppressWarnings("checkstyle:UnusedLocalVariable")
int index = 0;
for (Iterator it = map.entrySet().iterator(); it.hasNext(); index++) {
Map.Entry entry = (Map.Entry) it.next();
diff --git a/its/core-it-support/core-it-plugins/maven-it-plugin-uses-wagon/src/main/java/org/apache/maven/plugin/coreit/UsesWagonMojo.java b/its/core-it-support/core-it-plugins/maven-it-plugin-uses-wagon/src/main/java/org/apache/maven/plugin/coreit/UsesWagonMojo.java
index c26a352a1580..b1f8fa6ab10b 100644
--- a/its/core-it-support/core-it-plugins/maven-it-plugin-uses-wagon/src/main/java/org/apache/maven/plugin/coreit/UsesWagonMojo.java
+++ b/its/core-it-support/core-it-plugins/maven-it-plugin-uses-wagon/src/main/java/org/apache/maven/plugin/coreit/UsesWagonMojo.java
@@ -47,6 +47,7 @@ public void execute() throws MojoExecutionException {
throw new MojoExecutionException(e.getMessage(), e);
}
try {
+ @SuppressWarnings("checkstyle:UnusedLocalVariable")
FileWagon theWagon = (FileWagon) fileWagon;
} catch (ClassCastException e) {
getLog().error("", e);
@@ -64,6 +65,7 @@ public void execute() throws MojoExecutionException {
throw new MojoExecutionException(e.getMessage(), e);
}
try {
+ @SuppressWarnings("checkstyle:UnusedLocalVariable")
ScpWagon theWagon = (ScpWagon) scpWagon;
} catch (ClassCastException e) {
getLog().error("", e);
diff --git a/its/core-it-support/core-it-plugins/mng7529-plugin/pom.xml b/its/core-it-support/core-it-plugins/mng7529-plugin/pom.xml
index 17f2edc88425..ccca07868c27 100644
--- a/its/core-it-support/core-it-plugins/mng7529-plugin/pom.xml
+++ b/its/core-it-support/core-it-plugins/mng7529-plugin/pom.xml
@@ -32,14 +32,14 @@ under the License.
Maven IT Plugin :: mng-7529 plugin
- 3.6.0
+ 3.6.0
org.apache.maven
maven-plugin-api
- ${maven-version}
+ ${maven3-version}
provided
@@ -50,13 +50,13 @@ under the License.
org.apache.maven
maven-core
- ${maven-version}
+ ${maven3-version}
provided
org.apache.maven
maven-model
- ${maven-version}
+ ${maven3-version}
provided
diff --git a/its/core-it-support/core-it-plugins/mng7529-plugin/src/main/java/org/apache/maven/its/mng7529/plugin/ResolveMojo.java b/its/core-it-support/core-it-plugins/mng7529-plugin/src/main/java/org/apache/maven/its/mng7529/plugin/ResolveMojo.java
index c6de9c7afdcf..6a220c9313b0 100644
--- a/its/core-it-support/core-it-plugins/mng7529-plugin/src/main/java/org/apache/maven/its/mng7529/plugin/ResolveMojo.java
+++ b/its/core-it-support/core-it-plugins/mng7529-plugin/src/main/java/org/apache/maven/its/mng7529/plugin/ResolveMojo.java
@@ -58,6 +58,7 @@ public void execute() throws MojoExecutionException {
request.setMavenProject(project);
request.setRepositorySession(buildingRequest.getRepositorySession());
+ @SuppressWarnings("checkstyle:UnusedLocalVariable")
DependencyResolutionResult result = dependencyResolver.resolve(request);
getLog().info("Resolution successful, resolved ok");
diff --git a/its/pom.xml b/its/pom.xml
index 86815f01f188..57a70f867c6c 100644
--- a/its/pom.xml
+++ b/its/pom.xml
@@ -22,9 +22,8 @@ under the License.
org.apache.maven
- maven-parent
- 41
-
+ maven
+ 4.0.0-beta-6-SNAPSHOT
org.apache.maven.its
@@ -71,10 +70,10 @@ under the License.
core-its
${user.home}/maven-sites
true
- 8
- 8
+
+
- 3.8.6
+ 4.0.0-beta-6-SNAPSHOT
3.6.4
diff --git a/pom.xml b/pom.xml
index 4a9b60ac8017..eb7dc8b9de79 100644
--- a/pom.xml
+++ b/pom.xml
@@ -170,6 +170,8 @@ under the License.
3.5.3
7.1.0
2.10.0
+
+ ${project.version}
@@ -181,157 +183,157 @@ 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-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-meta
- ${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}
@@ -788,6 +790,7 @@ under the License.
src/test/resources*/**
src/test/projects/**
src/test/remote-repo/**
+ its/**
**/*.odg
**/*.svg
.asf.yaml
@@ -1029,5 +1032,14 @@ under the License.
+
+ run-its
+
+ its
+
+
+ ${session.rootDirectory}/apache-maven/target/apache-maven-${project.version}-bin.zip
+
+