maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Igor Fedorenko (JIRA)" <j...@codehaus.org>
Subject [jira] (MNG-5771) user-configurable core extensions mechanism
Date Fri, 20 Feb 2015 14:13:18 GMT
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)

Mime
View raw message