[ https://jira.codehaus.org/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Igor Fedorenko updated MNG-5771: -------------------------------- Summary: improved user-configurable core extensions mechanism (was: user-configurable core extensions mechanism) > 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)