good idea: can you open a Jira issue? notice, at a first pass, improving content of http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException to explain the special case of Aether is easy. But I'll try to have a dedicated link tonight: I know that the code will go in DefaultExceptionHandler class in maven-core, my only hesitation actually is how to code ITs to test the result: are there already ITs checking such error messages?
Regards, Hervé Le mardi 28 mai 2013 18:31:26 Arnaud Héritier a écrit : > For now I had no issue with this release after an upgrade of few plugins > > In the future (another Alpha ..) couldn't you catch such error and provide > a more user friendly message asking to upgrade the plugin : > > [INFO] Dependency-reduced POM written at: > /Users/arnaud/Code/eXo/platform-public-distributions/plf-tomcat-extensions-m > anager/dependency-reduced-pom.xml [WARNING] Error injecting: > org.apache.maven.shared.dependency.graph.internal.Maven3DependencyGraphBuild > er java.lang.NoClassDefFoundError: org/sonatype/aether/graph/Dependency at > java.lang.Class.getDeclaredMethods0(Native Method) > at java.lang.Class.privateGetDeclaredMethods(Class.java:2436) > at java.lang.Class.getDeclaredMethods(Class.java:1793) > at > com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java: > 674) at > com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPo > int.java:366) at > com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(Co > nstructorBindingImpl.java:165) at > com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl > .java:609) at > com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:565) at > com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.ja > va:551) at > com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl > .java:865) at > com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(Inj > ectorImpl.java:790) at > com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.ja > va:278) at > com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java: > 210) at > com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java > :986) at > com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1019) > at > com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:982) > at > com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1032) > at > org.eclipse.sisu.reflect.AbstractDeferredClass.get(AbstractDeferredClass.jav > a:44) at > com.google.inject.internal.ProviderInternalFactory.provision(ProviderInterna > lFactory.java:86) at > com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(I > nternalFactoryToInitializableAdapter.java:55) at > com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFa > ctory.java:70) at > com.google.inject.internal.ProvisionListenerStackCallback$Provision.provisio > n(ProvisionListenerStackCallback.java:100) at > org.eclipse.sisu.plexus.lifecycles.PlexusLifecycleManager.onProvision(Plexus > LifecycleManager.java:134) at > com.google.inject.internal.ProvisionListenerStackCallback$Provision.provisio > n(ProvisionListenerStackCallback.java:109) at > com.google.inject.internal.ProvisionListenerStackCallback.provision(Provisio > nListenerStackCallback.java:55) at > com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInter > nalFactory.java:68) at > com.google.inject.internal.InternalFactoryToInitializableAdapter.get(Interna > lFactoryToInitializableAdapter.java:47) at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderT > oInternalFactoryAdapter.java:46) at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1054 > ) at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToIn > ternalFactoryAdapter.java:40) at > com.google.inject.Scopes$1$1.get(Scopes.java:59) > at > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFact > oryToProviderAdapter.java:41) at > com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997) at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047 > ) at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993) at > org.eclipse.sisu.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:82) at > org.eclipse.sisu.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java > :52) at > org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.jav > a:259) at > org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.jav > a:239) at > org.apache.maven.shared.dependency.graph.internal.DefaultDependencyGraphBuil > der.buildDependencyGraph(DefaultDependencyGraphBuilder.java:60) at > org.apache.maven.plugins.shade.mojo.ShadeMojo.updateExcludesInDeps(ShadeMojo > .java:965) at > org.apache.maven.plugins.shade.mojo.ShadeMojo.createDependencyReducedPom(Sha > deMojo.java:938) at > org.apache.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:544) > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPl > uginManager.java:105) at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:2 > 08) at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:1 > 53) at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:1 > 45) at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(Life > cycleModuleBuilder.java:84) at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(Life > cycleModuleBuilder.java:59) at > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(Lif > ecycleStarter.java:183) at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarte > r.java:161) at > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:318) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153) > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 > ) at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl > .java:25) at java.lang.reflect.Method.invoke(Method.java:597) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.ja > va:290) at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher. > java:414) at > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357) > Caused by: java.lang.ClassNotFoundException: > org.sonatype.aether.graph.Dependency > at > org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFir > stStrategy.java:50) at > org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:2 > 44) at > org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:2 > 30) ... 64 more > [INFO] > ------------------------------------------------------------------------ > [INFO] Reactor Summary: > [INFO] > [INFO] eXo Platform Public Distributions ................. SUCCESS [1.129s] > [INFO] eXo Platform Public Distributions - ROOT WebApp ... SUCCESS [4.065s] > [INFO] eXo Platform Public Distributions - Dependencies .. SUCCESS > [7:52.922s] > [INFO] eXo Platform Public Distributions - Tomcat Extension - CRaSH > SUCCESS [2.578s] > [INFO] eXo Platform Public Distributions - Tomcat Extensions Manager > FAILURE [11.605s] > [INFO] eXo Platform Public Distributions - Tomcat Integration WebApp > SKIPPED > [INFO] eXo Platform Public Distributions - Tomcat Portal Containers Creator > SKIPPED > [INFO] eXo Platform Public Distributions - Assemblies .... SKIPPED > [INFO] eXo Platform Public Distributions - Tomcat Resources SKIPPED > [INFO] eXo Platform Public Distributions - Community Tomcat Standalone > SKIPPED > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 8:33.102s > [INFO] Finished at: Tue May 28 16:00:04 CEST 2013 > [INFO] Final Memory: 59M/125M > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-shade-plugin:2.0:shade (default) on project > plf-tomcat-extensions-manager: Execution default of goal > org.apache.maven.plugins:maven-shade-plugin:2.0:shade failed: A required > class was missing while executing > org.apache.maven.plugins:maven-shade-plugin:2.0:shade: > org/sonatype/aether/graph/Dependency > [ERROR] ----------------------------------------------------- > [ERROR] realm = plugin>org.apache.maven.plugins:maven-shade-plugin:2.0 > [ERROR] strategy = > org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy > [ERROR] urls[0] = > file:/Users/arnaud/.m2/repository/org/apache/maven/plugins/maven-shade-plugi > n/2.0/maven-shade-plugin-2.0.jar [ERROR] urls[1] = > file:/Users/arnaud/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.10/pl > exus-utils-3.0.10.jar [ERROR] urls[2] = > file:/Users/arnaud/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/s > isu-inject-bean-1.4.2.jar [ERROR] urls[3] = > file:/Users/arnaud/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-gu > ice-2.1.7-noaop.jar [ERROR] urls[4] = > file:/Users/arnaud/.m2/repository/org/sonatype/aether/aether-util/1.7/aether > -util-1.7.jar [ERROR] urls[5] = > file:/Users/arnaud/.m2/repository/org/codehaus/plexus/plexus-interpolation/1 > .14/plexus-interpolation-1.14.jar [ERROR] urls[6] = > file:/Users/arnaud/.m2/repository/org/codehaus/plexus/plexus-component-annot > ations/1.5.5/plexus-component-annotations-1.5.5.jar [ERROR] urls[7] = > file:/Users/arnaud/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/ > 1.3/plexus-sec-dispatcher-1.3.jar [ERROR] urls[8] = > file:/Users/arnaud/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plex > us-cipher-1.4.jar [ERROR] urls[9] = > file:/Users/arnaud/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar > [ERROR] urls[10] = > file:/Users/arnaud/.m2/repository/asm/asm/3.3.1/asm-3.3.1.jar > [ERROR] urls[11] = > file:/Users/arnaud/.m2/repository/asm/asm-commons/3.3.1/asm-commons-3.3.1.ja > r [ERROR] urls[12] = > file:/Users/arnaud/.m2/repository/asm/asm-tree/3.3.1/asm-tree-3.3.1.jar > [ERROR] urls[13] = > file:/Users/arnaud/.m2/repository/org/jdom/jdom/1.1/jdom-1.1.jar > [ERROR] urls[14] = > file:/Users/arnaud/.m2/repository/org/apache/maven/shared/maven-dependency-t > ree/2.0/maven-dependency-tree-2.0.jar [ERROR] urls[15] = > file:/Users/arnaud/.m2/repository/backport-util-concurrent/backport-util-con > current/3.1/backport-util-concurrent-3.1.jar [ERROR] urls[16] = > file:/Users/arnaud/.m2/repository/org/vafer/jdependency/0.7/jdependency-0.7. > jar [ERROR] urls[17] = > file:/Users/arnaud/.m2/repository/commons-io/commons-io/1.3.2/commons-io-1.3 > .2.jar [ERROR] urls[18] = > file:/Users/arnaud/.m2/repository/asm/asm-analysis/3.2/asm-analysis-3.2.jar > [ERROR] urls[19] = > file:/Users/arnaud/.m2/repository/asm/asm-util/3.2/asm-util-3.2.jar > [ERROR] Number of foreign imports: 1 > [ERROR] import: Entry[import from realm > ClassRealm[project>org.exoplatform.platform.distributions:plf-tomcat-extensi > ons-manager:4.0.x-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]] > [ERROR] > [ERROR] -----------------------------------------------------: > org.sonatype.aether.graph.Dependency > [ERROR] -> [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e > switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, > please read the following articles: > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException > > > WDYT ? Could it be technically possible ? > > A minor minor minor error : > > arnaud@imac-arnaud:~/Code/eXo/platform-public-distributions (git:master $)$ > mvn clean install -V -U > Apache Maven 3.1.0-alpha-1 (42b69f0b0a326d25442a05348a88e360f47e2443; > 2013-05-25 14:38:16+0200) > Maven home: /Users/arnaud/Applications/apache-maven > Java version: 1.6.0_45, vendor: Apple Inc. > Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home > Default locale: en_US, platform encoding: MacRoman > OS name: "mac os x", version: "10.8.3", arch: "x86_64", family: "mac"[INFO] > Scanning for projects... > > There is a missing carriage return after -V details > > Cheers > > > On Tue, May 28, 2013 at 10:38 AM, Stephen Connolly < > > stephen.alan.conno...@gmail.com> wrote: > > [x] Builds from source bundle > > [x] Builds some complex projects > > [x] Contains correct LICENSE.txt > > [ ] NOTICE.txt correctly attributes 3rd party components (See observation > > 1) > > [?] All source files, where appropriate, contain the ASL header (See > > observation 2) > > [?] Binary archives bundled within the source distribution (See > > observation > > 3) > > > > On the basis of the NOTICE.txt not acknowledging Eclipse Aether, and only > > on that basis I will be voting > > > > -0.99999 (binding) > > > > The other issues are non-critical but it would be nice to tidy them up... > > nice to have. > > > > Observations > > > > 1. No attribution of Eclipse Aether, only referenced as developed by > > Sonatype. > > > > 2. The following 39 files are missing license headers: > > apache-maven/src/bin/m2.conf > > apache-maven/src/conf/logging/simplelogger.properties > > > > maven-aether-provider/src/main/java/org/apache/maven/repository/internal/p > > ackage.html> > > maven-aether-provider/src/site/apt/index.apt > > maven-artifact/src/site/apt/index.apt > > maven-compat/compatibility.cfl > > maven-compat/src/main/resources/META-INF/maven/plugin.xml > > maven-core/lifecycle-executor.txt > > maven-core/plugin-manager.txt > > maven-core/project-builder.txt > > maven-core/src/main/resources/org/apache/maven/messages/build.properties > > maven-core/src/site/apt/artifact-handlers.apt > > maven-core/src/site/apt/configuration-management.apt > > maven-core/src/site/apt/default-bindings.apt.vm > > maven-core/src/site/apt/getting-to-container-configured-mojos.apt > > maven-core/src/site/apt/index.apt > > maven-core/src/site/apt/inheritance.apt > > maven-core/src/site/apt/lifecycles.apt.vm > > maven-core/src/site/apt/offline-mode.apt > > maven-core/src/site/apt/plugin-execution-isolation.apt > > maven-core/src/site/apt/scripting-support/marmalade-support.apt > > maven-core/src/site/resources/design/2.1-lifecycle-refactor.graffle > > > > maven-embedder/src/examples/simple-project/src/main/java/org/apache/maven/ > > embedder/App.java > > > > > > maven-embedder/src/examples/simple-project/src/test/java/org/apache/maven/ > > embedder/AppTest.java> > > maven-embedder/src/main/resources/META-INF/MANIFEST.MF > > > > maven-embedder/src/main/resources/META-INF/maven/slf4j-configuration.prope > > rties> > > maven-embedder/src/site/apt/cli.apt.vm > > maven-embedder/src/site/apt/index.apt.vm > > maven-embedder/src/site/apt/logging.apt > > maven-model-builder/src/site/apt/index.apt > > maven-model-builder/src/site/apt/super-pom.apt.vm > > maven-model/src/main/java/org/apache/maven/model/io/xpp3/package.html > > maven-model/src/main/java/org/apache/maven/model/merge/package.html > > maven-model/src/main/java/org/apache/maven/model/package.html > > maven-model/src/site/apt/index.apt > > maven-plugin-api/src/site/apt/index.apt > > maven-repository-metadata/src/site/apt/index.apt > > maven-settings/src/site/apt/index.apt > > README.bootstrap.txt > > > > None of these are actual production code, so I don't see this as a blocker > > for release, but it would be good to tidy them up. Additionally, the > > embedder examples should have their license explicitly stated to remove > > confusion for anyone pegging the examples to build their own code upon. > > > > In addition I note that there are 432 test resources that do not have a > > license header, however, as test resources it is legitimate to argue that > > the license header could affect the test. It would be good if we could get > > that number reduced, but only if we are confident that we are not > > introducing false test passes in the process. > > > > 3. There is one (non-test) archive bundled within the distribution: > > maven-ant-tasks-2.1.1.jar > > > > Given that this specific artifact suffers from the bootstrap issue (i.e. > > it > > needs Maven to build it) and the source is available and this artifact is > > not part of the built code, but rather the build process, I am unclear as > > to what the legal requirement for including this in the source > > distribution. It would be nice if we had some clarity on the artifact. > > OTOH > > it is code under the ASL and the NOTICE.txt perhaps covers it. > > > > On 25 May 2013 13:51, Jason van Zyl <ja...@tesla.io> wrote: > > > Here are the release bits for 3.1.0-alpha-1: > > > > > Release notes: > > https://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10500&version= > > 18967> > > > Staging repository: > > > https://repository.apache.org/content/repositories/maven-044/ > > > > > Staged distribution: > > https://repository.apache.org/content/repositories/maven-044/org/apache/ma > > ven/apache-maven/3.1.0-alpha-1/> > > > Staged Site: > > > http://maven.apache.org/ref/3.1.0-alpha-1 > > > > > > Thanks, > > > > > > Jason > > > > > > ---------------------------------------------------------- > > > Jason van Zyl > > > Founder & CTO, Sonatype > > > Founder, Apache Maven > > > http://twitter.com/jvanzyl > > > --------------------------------------------------------- > > > > > > We know what we are, but know not what we may be. > > > > > > -- Shakespeare > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > > > For additional commands, e-mail: dev-h...@maven.apache.org > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > > > For additional commands, e-mail: dev-h...@maven.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org