This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git
The following commit(s) were added to refs/heads/master by this push:
new 7f86d1d996 [MNG-7772] Allow to register maven core extension in .m2
directory instead of MAVEN_HOME (#1280)
7f86d1d996 is described below
commit 7f86d1d996bab2c2986eca06e7e9c94b543fc48a
Author: juulhobert <[email protected]>
AuthorDate: Wed Oct 18 20:06:57 2023 +0200
[MNG-7772] Allow to register maven core extension in .m2 directory instead
of MAVEN_HOME (#1280)
---
apache-maven/src/assembly/maven/bin/m2.conf | 1 +
.../src/main/java/org/apache/maven/cli/MavenCli.java | 17 ++++++++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/apache-maven/src/assembly/maven/bin/m2.conf
b/apache-maven/src/assembly/maven/bin/m2.conf
index c050dc07bf..15e0f5df2e 100644
--- a/apache-maven/src/assembly/maven/bin/m2.conf
+++ b/apache-maven/src/assembly/maven/bin/m2.conf
@@ -6,6 +6,7 @@ set maven.conf default ${maven.home}/conf
load ${maven.conf}/logging
optionally ${maven.home}/lib/ext/redisson/*.jar
optionally ${maven.home}/lib/ext/hazelcast/*.jar
+optionally ${user.home}/.m2/ext/*.jar
optionally ${maven.home}/lib/ext/*.jar
load ${maven.home}/lib/maven-*.jar
load ${maven.home}/lib/*.jar
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index 7c620ce5e9..f9d532f200 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -145,7 +145,9 @@ public class MavenCli {
private static final String EXT_CLASS_PATH = "maven.ext.class.path";
- private static final String EXTENSIONS_FILENAME = ".mvn/extensions.xml";
+ private static final String EXTENSIONS_FILENAME = "extensions.xml";
+
+ private static final String MVN_EXTENSIONS_FILENAME = ".mvn/" +
EXTENSIONS_FILENAME;
private static final String MVN_MAVEN_CONFIG = ".mvn/maven.config";
@@ -747,12 +749,17 @@ public class MavenCli {
return Collections.emptyList();
}
- File extensionsFile = new File(cliRequest.multiModuleProjectDirectory,
EXTENSIONS_FILENAME);
- if (!extensionsFile.isFile()) {
- return Collections.emptyList();
+ File extensionsFile = new File(cliRequest.multiModuleProjectDirectory,
MVN_EXTENSIONS_FILENAME);
+ File userHomeExtensionsFile = new File(USER_MAVEN_CONFIGURATION_HOME,
EXTENSIONS_FILENAME);
+
+ List<CoreExtension> extensions = new ArrayList<>();
+ if (extensionsFile.isFile()) {
+ extensions.addAll(readCoreExtensionsDescriptor(extensionsFile));
+ }
+ if (userHomeExtensionsFile.isFile()) {
+
extensions.addAll(readCoreExtensionsDescriptor(userHomeExtensionsFile));
}
- List<CoreExtension> extensions =
readCoreExtensionsDescriptor(extensionsFile);
if (extensions.isEmpty()) {
return Collections.emptyList();
}