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

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

Fair enough. Updated jira description to indicate this is an improvement to 
rudimentary implementation that already existed in earlier maven versions.

> improved user-configurable core extensions mechanism
> ----------------------------------------------------
>
>                 Key: MNG-5771
>                 URL: https://jira.codehaus.org/browse/MNG-5771
>             Project: Maven
>          Issue Type: Improvement
>          Components: Class Loading
>            Reporter: Igor Fedorenko
>            Assignee: Igor Fedorenko
>             Fix For: 3.3.0
>
>
> 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.1.6#6162)

Reply via email to