[
https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14528495#comment-14528495
]
Yuri commented on MNG-5771:
---------------------------
Thanks, this is a great addition I have been waiting for some time!
One comment though: wouldn't it make sense to allow extensions in the
~/.m2/settings.xml file too? Or allow settings.xml in the projectBaseDir? I
have a situation where we have externalized our repo urls to settings.xml and
these urls do require a specific extension. Right now, I need to manage the url
and the extension that goes along with it in two different places.
> improved user-configurable core extensions mechanism
> ----------------------------------------------------
>
> Key: MNG-5771
> URL: https://issues.apache.org/jira/browse/MNG-5771
> Project: Maven
> Issue Type: Improvement
> Components: Class Loading
> Reporter: Igor Fedorenko
> Assignee: igorfie
> Fix For: 3.3.1
>
>
> As of version 3.2.5 maven provides two mechanisms to contribute additional
> components to maven core runtime. It is possible to add component jars to
> {{$M2_HOME/lib/ext directory}}. It is also possible to specify component jars
> using {{-Dmaven.ext.class.path}} command line parameter. Neither of the
> mechanisms is user friendly. In both cases, the user is expected to manually
> locate and download all required jar file. In both cases, this has to be done
> on all systems where the extensions are needed. In both cases, all extra jars
> are loaded into single classloader so all extensions must agree of the same
> set of dependencies.
> This jira is to track changes needed to make it possible to configure core
> extensions in terms of groupId/artifactId/version and share set of required
> extensions across multiple systems.
> More specifically,
> * introduce new {{$\{maven.projectBasedir\}/.mvn/extensions.xml}} descriptor
> to specify list of extensions. Initially, the descriptor will only allow
> specification of extension groupId/artifactId/version, but can be extended to
> support dependency includes/excludes mechanism and configuration parameters
> later
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <extensions>
> <extension>
> <groupId>...</groupId>
> <artifactId>...</artifactId>
> <version>...</version>
> </extension>
> <extension>...</extension>
> ...
> </extensions>
> {code}
> * change maven to read and load core extensions in separate class realms as
> part of plexus container setup.
> * provide mechanism for extensions to declare exported artifacts and packages
> using {{META-INF/maven/extension.xml}} descriptor.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)