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}
<?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