[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17635491#comment-17635491 ] Hudson commented on MNG-5771: - Build succeeded in Jenkins: Maven » Maven TLP » maven-site » master #167 See https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-site/job/master/167/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.20.10#820010)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17635406#comment-17635406 ] ASF GitHub Bot commented on MNG-5771: - kwin closed pull request #338: [MNG-5771] Document all classloaders used in Maven URL: https://github.com/apache/maven-site/pull/338 > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.20.10#820010)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17635291#comment-17635291 ] ASF GitHub Bot commented on MNG-5771: - kwin commented on PR #338: URL: https://github.com/apache/maven-site/pull/338#issuecomment-1318461793 @cstamas Any further remarks before I go ahead and merge? > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.20.10#820010)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17634460#comment-17634460 ] ASF GitHub Bot commented on MNG-5771: - kwin commented on code in PR #338: URL: https://github.com/apache/maven-site/pull/338#discussion_r1023095413 ## src/plantuml/buildExtensionClassRealm.puml: ## @@ -0,0 +1,46 @@ +/* Review Comment: Yes, exactly, they have this format: https://plantuml.com/class-diagram and are converted during build to SVG. Also they are referenced in modified APT documents e.g. in https://github.com/apache/maven-site/pull/338/files#diff-3a01086d28efd2b3cb838d37d2efcafa96e65044d0b09a6826b6a5ca3b54a45aR92. > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.20.10#820010)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17634442#comment-17634442 ] ASF GitHub Bot commented on MNG-5771: - elharo commented on PR #338: URL: https://github.com/apache/maven-site/pull/338#issuecomment-1315598632 It might be worthwhile to write a general purpose .apt to markdown converter. However that should not be part of this PR. As to why we have these exotic special purpose things, a lot of it is is simply that this code goes back 20 years and no such de facto standard tool existed back then. > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.20.10#820010)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17634360#comment-17634360 ] ASF GitHub Bot commented on MNG-5771: - cstamas commented on PR #338: URL: https://github.com/apache/maven-site/pull/338#issuecomment-1315315755 Wow, yet another Maven Component that depends on plexus-container-default... :beer: > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.20.10#820010)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17634349#comment-17634349 ] ASF GitHub Bot commented on MNG-5771: - kwin commented on PR #338: URL: https://github.com/apache/maven-site/pull/338#issuecomment-1315302278 > Starter comment: could we just convert any exotic formatted document to something supported by modern tools when we touch them? Like Markdown or ADoc (depdending on complexity and requirements of documentation)? I really dont understand why on earth we keep coming up with our own "standards" that just make our lives harder than should I don't think this should be included in PRs which change something else. Otherwise the diff is no longer visible. It needs to be separately done either before or after. Also I miss the automated conversion from `APT` to `Markdown` in https://github.com/apache/maven-doxia-converter > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.20.10#820010)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17634340#comment-17634340 ] ASF GitHub Bot commented on MNG-5771: - cstamas commented on PR #338: URL: https://github.com/apache/maven-site/pull/338#issuecomment-1315279822 Starter comment: could we just convert any exotic formatted document to something supported by modern tools when we touch them? Like Markdown or ADoc (depdending on complexity and requirements of documentation)? I really dont understand why on earth we keep coming up with our own "standards" that just make our lives harder than should :smile: > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.20.10#820010)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17634338#comment-17634338 ] ASF GitHub Bot commented on MNG-5771: - elharo commented on code in PR #338: URL: https://github.com/apache/maven-site/pull/338#discussion_r1022745807 ## content/apt/guides/mini/guide-maven-classloading.apt: ## @@ -30,55 +30,89 @@ Guide to Maven Classloading This is a description of the classloader hierarchy in Maven. - + +%{toc|section=1|fromDepth=2} + * Overview - * System Classloader + Maven uses the {{{https://codehaus-plexus.github.io/plexus-classworlds/}Plexus Classworlds}} classloading framework with which we Review Comment: "with which we create our" --> to create the ## content/apt/guides/mini/guide-maven-classloading.apt: ## @@ -30,55 +30,89 @@ Guide to Maven Classloading This is a description of the classloader hierarchy in Maven. - + +%{toc|section=1|fromDepth=2} + * Overview - * System Classloader + Maven uses the {{{https://codehaus-plexus.github.io/plexus-classworlds/}Plexus Classworlds}} classloading framework with which we + create our classloader graph. If you look in your <<<$\{maven.home\}/boot>>> directory you will see a single JAR + which is the Classworlds JAR we use to boot the classloader graph. The Classworlds JAR is the only element of + the Java <<>> and Classworlds then builds the other classloaders or realms in Classworlds terminology. - * Core Classloader + Each realm exposes - * Plugin Classloaders + [[1]] optionally some classes imported from 0..n other classloaders - * Custom Classloaders - - [] + [[2]] optionally some classes from a directory or JAR + + [[3]] one parent classloader + [] -* 1. {System Classloader} + The search order is always as given above. - Maven uses the {{{https://codehaus-plexus.github.io/plexus-classworlds/}Plexus Classworlds}} classloading framework with which we - create our classloader graph. If you look in your <<<$\{maven.home\}/boot>>> directory you will see a single JAR - which is the Classworlds JAR we use to boot the classloader graph. The Classworlds JAR is the only element of - the Java <<>> and Classworlds then builds the other classloaders or realms in Classworlds terminology. +* {Platform Classloader} + + This is the classloader exposing all JRE classes. + +* {System Classloader} - An Ant script like this will show the contents of the system classloader: + An Ant script like this will show the contents of the system/bootstrap classloader: Review Comment: why are we talking about ant? Please delete this. ## content/apt/guides/mini/guide-maven-classloading.apt: ## @@ -30,55 +30,89 @@ Guide to Maven Classloading This is a description of the classloader hierarchy in Maven. - + +%{toc|section=1|fromDepth=2} + * Overview - * System Classloader + Maven uses the {{{https://codehaus-plexus.github.io/plexus-classworlds/}Plexus Classworlds}} classloading framework with which we + create our classloader graph. If you look in your <<<$\{maven.home\}/boot>>> directory you will see a single JAR Review Comment: comma after directory ## content/apt/guides/mini/guide-maven-classloading.apt: ## @@ -30,55 +30,89 @@ Guide to Maven Classloading This is a description of the classloader hierarchy in Maven. - + +%{toc|section=1|fromDepth=2} + * Overview - * System Classloader + Maven uses the {{{https://codehaus-plexus.github.io/plexus-classworlds/}Plexus Classworlds}} classloading framework with which we + create our classloader graph. If you look in your <<<$\{maven.home\}/boot>>> directory you will see a single JAR + which is the Classworlds JAR we use to boot the classloader graph. The Classworlds JAR is the only element of + the Java <<>> and Classworlds then builds the other classloaders or realms in Classworlds terminology. - * Core Classloader + Each realm exposes - * Plugin Classloaders + [[1]] optionally some classes imported from 0..n other classloaders - * Custom Classloaders - - [] + [[2]] optionally some classes from a directory or JAR + + [[3]] one parent classloader + [] -* 1. {System Classloader} + The search order is always as given above. - Maven uses the {{{https://codehaus-plexus.github.io/plexus-classworlds/}Plexus Classworlds}} classloading framework with which we - create our classloader graph. If you look in your <<<$\{maven.home\}/boot>>> directory you will see a single JAR - which is the Classworlds JAR we use to boot the classloader graph. The Classworlds JAR is the only element of - the Java <<>> and Classworlds then builds the other classloaders or realms in Classworlds terminology. +* {Platform Classloader} + + This is the classloader exposing all JRE classes. + +* {System Classloader} - An Ant script like this will show the contents of the
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17634250#comment-17634250 ] ASF GitHub Bot commented on MNG-5771: - kwin opened a new pull request, #338: URL: https://github.com/apache/maven-site/pull/338 Clarify differences between Core and Build extensions > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.20.10#820010)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265952#comment-17265952 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven-studies » maven-metrics #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven-studies/job/maven-metrics/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265589#comment-17265589 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6012-Missing-Profile-At-End #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6012-Missing-Profile-At-End/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265570#comment-17265570 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » REMOVE_DEPRECATED #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/REMOVE_DEPRECATED/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265550#comment-17265550 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » mng-5668-poc #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/mng-5668-poc/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265526#comment-17265526 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-5567 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-5567/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265505#comment-17265505 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6952 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6952/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265483#comment-17265483 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MRESOLVER-94 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MRESOLVER-94/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265457#comment-17265457 ] Hudson commented on MNG-5771: - Build failed in Jenkins: Maven » Maven TLP » maven » MNG-6829 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6829/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265436#comment-17265436 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » Bananeweizen-MNG-6907 #16 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/Bananeweizen-MNG-6907/16/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265408#comment-17265408 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6909 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6909/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265386#comment-17265386 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6889 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6889/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265365#comment-17265365 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6169/MNG-6556 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6169%252FMNG-6556/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265345#comment-17265345 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6169/MNG-6553 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6169%252FMNG-6553/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265326#comment-17265326 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6169/MNG-6555 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6169%252FMNG-6555/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265300#comment-17265300 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6169/MNG-6550 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6169%252FMNG-6550/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265280#comment-17265280 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6169/MNG-6552 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6169%252FMNG-6552/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265259#comment-17265259 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6169/MNG-6554 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6169%252FMNG-6554/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17265236#comment-17265236 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6113 #3 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6113/3/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17254672#comment-17254672 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6114 #2 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6114/2/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17241064#comment-17241064 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MODELTESTS_IMPROVEMENT #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MODELTESTS_IMPROVEMENT/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17241042#comment-17241042 ] Hudson commented on MNG-5771: - Build succeeded in Jenkins: Maven » Maven TLP » maven » MNG-6888 #15 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6888/15/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17240235#comment-17240235 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » MNG-6957 #11 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-6957/11/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17232361#comment-17232361 ] Hudson commented on MNG-5771: - Build unstable in Jenkins: Maven » Maven TLP » maven » master #57 See https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven/job/master/57/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17069581#comment-17069581 ] Hudson commented on MNG-5771: - Build failed in Jenkins: Maven TLP » maven-studies » maven-metrics #4 See https://builds.apache.org/job/maven-box/job/maven-studies/job/maven-metrics/4/ > 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 >Priority: Major > 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} > > > > ... > ... > ... > > ... > ... > > {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 (v8.3.4#803005)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14643251#comment-14643251 ] Yuri commented on MNG-5771: --- {quote} I don't think settings.xml in project basedir is a good idea. User settings are meant to provide environment specific configuration, like user credentials, which cannot be shared across different build system. {quote} I agree 100%. {quote} Using ~/.m2/settings.xml to configure extensions is not a good idea because it will break earlier versions of maven. I don't have strong opinion about ~/.m2/extension.xml (or something like that). It is probably okay to for environment specific extensions, like your custom repository extension, assuming I understood your usercase correctly. I have no immediate plans to implement this myself, however. {quote} I didn't realize it would break earlier versions of maven. In any case, something like *~/.m2/extension.xml* would work just the same. Just to be a bit more specific, we are using Spring's S3 Wagon and it provides us a scalable and fault tolerant storage for our artifacts without the need for something like Artifactory or Nexus. We used to set this S3 wagon extension in a parent POM that was released independently, but then we got into a chicken and egg problem, specially when we have new hires or when bootstrapping a new laptop or when recreating *~/.m2/repo*: how to download the parent POM when it is the one that would tell maven how. So we moved the repository/ urls to settings.xml as properties in an active-by-default profile and we started distributing a custom Maven distribution with the S3 wagon jars embedded in the *lib/ext* folder. It works but it is a bit of a pain specially when there are new versions etc. If we were able to provide every developer a *~/.m2/settings.xml* and a *~/.m2/extension.xml* then both the S3 urls and the S3 wagon that can read/write these urls, then we would be done with it. 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)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14643440#comment-14643440 ] Igor Fedorenko commented on MNG-5771: - @Yuri I meant d...@maven.apache.org maven development list, not m2e dev list. sorry for the confusion. 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)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14530545#comment-14530545 ] Igor Fedorenko commented on MNG-5771: - I don't think settings.xml in project basedir is a good idea. User settings are meant to provide environment specific configuration, like user credentials, which cannot be shared across different build system. Using ~/.m2/settings.xml to configure extensions is not a good idea because it will break earlier versions of maven. I don't have strong opinion about ~/.m2/extension.xml (or something like that). It is probably okay to for environment specific extensions, like your custom repository extension, assuming I understood your usercase correctly. I have no immediate plans to implement this myself, however. As a side note, questions like this are better asked on m2e-dev mailing list, where they will be visible to a wider audience of interested developers. 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)
[jira] [Commented] (MNG-5771) improved user-configurable core extensions mechanism
[ https://issues.apache.org/jira/browse/MNG-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14528495#comment-14528495 ] Yuri commented on MNG-5771: --- Thanks, this is a great addition I have been waiting for some time! One comment though: wouldn't it make sense to allow extensions in the ~/.m2/settings.xml file too? Or allow settings.xml in the projectBaseDir? I have a situation where we have externalized our repo urls to settings.xml and these urls do require a specific extension. Right now, I need to manage the url and the extension that goes along with it in two different places. 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)