[ 
https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14530545#comment-14530545
 ] 

Igor Fedorenko commented on MNG-5771:
-------------------------------------

I don't think settings.xml in project basedir is a good idea. User settings are 
meant to provide environment specific configuration, like user credentials, 
which cannot be shared across different build system.

Using ~/.m2/settings.xml to configure extensions is not a good idea because it 
will break earlier versions of maven. I don't have strong opinion about 
~/.m2/extension.xml (or something like that). It is probably okay to for 
environment specific extensions, like your custom repository extension, 
assuming I understood your usercase correctly. I have no immediate plans to 
implement this myself, however.

As a side note, questions like this are better asked on m2e-dev mailing list, 
where they will be visible to a wider audience of interested developers.

> 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)

Reply via email to