maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
Date Thu, 04 Jun 2015 05:04:41 GMT

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

Hudson commented on MNG-5771:
-----------------------------

SUCCESS: Integrated in maven-3.x #1081 (See [https://builds.apache.org/job/maven-3.x/1081/])
[MNG-5771] added core extension reference (hboutemy: rev 08715d87d92b06aa2845250c0caee5b271cf37c2)
* maven-embedder/src/site/apt/index.apt.vm


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

Mime
View raw message