[jira] (MNG-5771) user-configurable core extensions mechanism

2015-03-12 Thread Karl-Heinz Marbaise (JIRA)

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

Karl-Heinz Marbaise commented on MNG-5771:
--

I was just referencing the subject that it was already available for Maven 
3.1.1 in general...with some drawback etc. which is has now became better 
(using via GAV) instead of command line option and per project...etc.

> 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}
> 
> 
>   
> ...
> ...
> ...
>   
>   ...
>   ...
> 
> {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)


[jira] (MNG-5771) user-configurable core extensions mechanism

2015-03-12 Thread Igor Fedorenko (JIRA)

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

Igor Fedorenko commented on MNG-5771:
-

The new mechanisms allows configuration to be persisted inside project source 
tree, something that was not possible before. The extensions are configured in 
terms of groupId/artifactId/version and should be easier to manage. The new 
mechanism also has cleaner classloading model, so different extensions can have 
different dependencies. 

> 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}
> 
> 
>   
> ...
> ...
> ...
>   
>   ...
>   ...
> 
> {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)


[jira] (MNG-5771) user-configurable core extensions mechanism

2015-03-12 Thread Karl-Heinz Marbaise (JIRA)

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

Karl-Heinz Marbaise edited comment on MNG-5771 at 3/12/15 4:01 AM:
---

The extension mechanism is available since 3.1.1 as far as i know? Or do i 
mistaken here something?
{quote}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.{quote}



was (Author: khmarbaise):
The extension mechanism is available since 3.1.1 as far as i know? Or do i 
mistaken here something?

> 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}
> 
> 
>   
> ...
> ...
> ...
>   
>   ...
>   ...
> 
> {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)


[jira] (MNG-5771) user-configurable core extensions mechanism

2015-03-12 Thread Karl-Heinz Marbaise (JIRA)

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

Karl-Heinz Marbaise commented on MNG-5771:
--

The extension mechanism is available since 3.1.1 as far as i know? Or do i 
mistaken here something?

> 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}
> 
> 
>   
> ...
> ...
> ...
>   
>   ...
>   ...
> 
> {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)


[jira] (MNG-5771) user-configurable core extensions mechanism

2015-03-05 Thread Herve Boutemy (JIRA)

 [ 
https://jira.codehaus.org/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Herve Boutemy updated MNG-5771:
---

Description: 
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}


  
...
...
...
  
  ...
  ...

{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.

  was:
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}


  
...
...
...
  
  ...
  ...

{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.


> 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}
> 
> 
>   
> ...
> ...
> ...
>   
>   ...
>   ...
> 
> {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 p

[jira] (MNG-5771) user-configurable core extensions mechanism

2015-03-05 Thread Herve Boutemy (JIRA)

 [ 
https://jira.codehaus.org/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Herve Boutemy updated MNG-5771:
---

Description: 
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}


  
...
...
...
  
  ...
  ...

{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.

  was:
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}


  
...
...
...
  
  ...
  ...

{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.


> 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}
> 
> 
>   
> ...
> ...
> ...
>   
>   ...
>   ...
> 
> {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/ext

[jira] (MNG-5771) user-configurable core extensions mechanism

2015-02-20 Thread Igor Fedorenko (JIRA)

 [ 
https://jira.codehaus.org/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Fedorenko closed MNG-5771.
---

Resolution: Fixed

reading extension exported packages and artifacts from 
META-INF/maven/extension.xml descriptor
https://git-wip-us.apache.org/repos/asf?p=maven.git;a=commit;h=8631d79ca3b2f08a610196ac04a7b7cde4832c4a

loading user-defined core extensions from 
${maven.projectBasedir}/.mvn/extensions.xml
https://git-wip-us.apache.org/repos/asf?p=maven.git;a=commit;h=6efacdb3fc5e8369fa3586c0603184dc785303da

> 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.2.6
>
>
> 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}
> 
> 
>   
> ...
> ...
> ...
>   
>   ...
>   ...
> 
> {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)


[jira] (MNG-5771) user-configurable core extensions mechanism

2015-02-20 Thread Igor Fedorenko (JIRA)

 [ 
https://jira.codehaus.org/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Fedorenko reassigned MNG-5771:
---

Assignee: Igor Fedorenko

> 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.2.6
>
>
> 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}
> 
> 
>   
> ...
> ...
> ...
>   
>   ...
>   ...
> 
> {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)


[jira] (MNG-5771) user-configurable core extensions mechanism

2015-02-20 Thread Igor Fedorenko (JIRA)

 [ 
https://jira.codehaus.org/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Fedorenko updated MNG-5771:


Fix Version/s: 3.2.6

> 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
> Fix For: 3.2.6
>
>
> 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}
> 
> 
>   
> ...
> ...
> ...
>   
>   ...
>   ...
> 
> {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)


[jira] (MNG-5771) user-configurable core extensions mechanism

2015-02-20 Thread Igor Fedorenko (JIRA)
Igor Fedorenko created MNG-5771:
---

 Summary: 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


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}


  
...
...
...
  
  ...
  ...

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