Hi Herve, I am using MLCP#afterProjectsRead. Unfortunately the extensions don't seem to be loaded at that point either.
William On Wed, May 21, 2014 at 10:03 AM, Hervé BOUTEMY <[email protected]>wrote: > if you look at AbstractMavenLifecycleParticipant source file: > > /** > * Invoked after MavenSession instance has been created. > * > * This callback is intended to allow extensions to inject execution > properties, > * activate profiles and perform similar tasks that affect MavenProject > * instance construction. > */ > // TODO: This is too early for build extensions, so maybe just remove > it? > public void afterSessionStart( MavenSession session ) > throws MavenExecutionException > { > > the TODO seems exactly what you're facing > > and if you have a look at place where it is used, ie > DefaultMaven.doExecute(...), you'll see that this method happens really too > early to be able to do anything about this problem > > IMHO, you'd better use afterProjectsRead(...) method, which should have the > right classloader prepared > > and we should probably change the "TODO" into javadoc, since this shuld be > documented limitation > > WDYT? > > Regards, > > Hervé > > Le lundi 19 mai 2014 11:31:42 William Ferguson a écrit : > > So it boils down to ProjectDependenciesResolver being able to resolve an > > s3wagon dependency from a Mojo, but not from MavenLifecycleParticipant. > > > > Is it because RepositorySystem has not been fully configured by > > MLCP#afterProjectsRead? > > If so, is there a way to ensure that it is configured by then? > > > > Someone, anyone? > > > > William > > > > > > On Sun, May 18, 2014 at 9:23 AM, William Ferguson < > > > > [email protected]> wrote: > > > OK, I'm really hoping someone can provide some more insight on this as > I > > > have reached my limit. > > > > > > To make things clearer, I have created a project containing > > > integration-tests showing the failure that is causing us grief > (external > > > wagon dependencies not being resolvable from within > > > MavenLifeCycleParticipant) and well as integration tests showing that > that > > > same deps are resolvable either using the std Maven dep resolution or > > > explicit resolution from within a Mojo, > > > > > > https://github.com/william-ferguson-au/example-resolution-plugin. > > > > > > Could someone please have a look and help me work out how to get the > > > external wagon deps to resolve from the MLCP? > > > > > > William > > > > > > > > > On Fri, May 16, 2014 at 1:22 AM, William Ferguson < > > > > > > [email protected]> wrote: > > >> No one on the user's list wanted to have a go at this. How about > someone > > >> from the Dev list? > > >> > > >> William > > >> > > >> > > >> ---------- Forwarded message ---------- > > >> From: William Ferguson <[email protected]> > > >> Date: Mon, May 12, 2014 at 8:58 PM > > >> Subject: Wagon extensions not available from > > >> AbstractMavenLifecycleParticipant or maven-dependency-tree? > > >> To: Maven Users List <[email protected]> > > >> > > >> > > >> I have a MavenLifecycleParticipant in my plugin. It uses > > >> maven-dependency-tree to resolve some deps that we need to do extra > > >> processing on. It works fine if the deps are in the local repo. > > >> > > >> But if the s3 Wagon is defined in the project along with a dependency > > >> from the s3 bucket, then the following debug log shows that > > >> DependencyGraphBuilder of maven-dependency-tree can't resolve the s3 > > >> wagon, > > >> and the dependency is not resolved now or later in the build, so > > >> compilation fails. > > >> > > >> NB If I remove the MavenLifecycleParticipant then the dep is resolved > via > > >> the S3 Wagon. > > >> > > >> Q1) When are the Wagons configured? Shouldn't it be prior to > > >> MavenLifecycleParticipant being called? > > >> Q2) How can I get the DependencyGraphBuilder to resolve the s3 > artifact > > >> from within the MavenLifecycleParticipant? > > >> > > >> > > >> Here is the stacktrace: > > >> > > >> [DEBUG] Could not find metadata > > >> > com.viewpagerindicator:viewpagerindicator:2.4.2-SNAPSHOT/maven-metadata.x > > >> ml > > >> in local (D:\dev\maven-local-repository) > > >> [DEBUG] java.util.NoSuchElementException > > >> > > >> role: org.apache.maven.wagon.Wagon > > >> > > >> roleHint: s3 > > >> > > >> > org.codehaus.plexus.component.repository.exception.ComponentLookupExcepti > > >> on: java.util.NoSuchElementException > > >> > > >> role: org.apache.maven.wagon.Wagon > > >> > > >> roleHint: s3 > > >> > > >> at > > >> > org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer. > > >> java:264)>> > > >> at > > >> > > >> > org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer. > > >> java:252) at > > >> > org.eclipse.aether.internal.connector.wagon.PlexusWagonProvider.lookup(Pl > > >> exusWagonProvider.java:33)>> > > >> at > > >> > > >> > org.eclipse.aether.connector.wagon.WagonRepositoryConnector.lookupWagon(W > > >> agonRepositoryConnector.java:337) at > > >> > org.eclipse.aether.connector.wagon.WagonRepositoryConnector.<init>(WagonR > > >> epositoryConnector.java:157)>> > > >> at > > >> > > >> > org.eclipse.aether.connector.wagon.WagonRepositoryConnectorFactory.newIns > > >> tance(WagonRepositoryConnectorFactory.java:159) at > > >> > org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider.newRe > > >> positoryConnector(DefaultRepositoryConnectorProvider.java:139)>> > > >> at > > >> > > >> > org.eclipse.aether.internal.impl.DefaultMetadataResolver$ResolveTask.run( > > >> DefaultMetadataResolver.java:613) at > > >> > org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(Runnable > > >> ErrorForwarder.java:67)>> > > >> at > > >> > > >> > org.eclipse.aether.internal.impl.DefaultMetadataResolver$1.execute(Defaul > > >> tMetadataResolver.java:540) at > > >> > org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolve(DefaultM > > >> etadataResolver.java:395)>> > > >> at > > >> > > >> > org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolveMetadata( > > >> DefaultMetadataResolver.java:218) at > > >> > org.apache.maven.repository.internal.DefaultVersionResolver.resolveVersio > > >> n(DefaultVersionResolver.java:250)>> > > >> at > > >> > > >> > org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.load > > >> Pom(DefaultArtifactDescriptorReader.java:284) at > > >> > org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.read > > >> ArtifactDescriptor(DefaultArtifactDescriptorReader.java:217)>> > > >> at > > >> > > >> > org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(Defau > > >> ltDependencyCollector.java:461) at > > >> > org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDepend > > >> encies(DefaultDependencyCollector.java:261)>> > > >> at > > >> > > >> > org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependenc > > >> ies(DefaultRepositorySystem.java:317) at > > >> > org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(Defau > > >> ltProjectDependenciesResolver.java:159)>> > > >> at > > >> > > >> > org.apache.maven.shared.dependency.graph.internal.Maven31DependencyGraphB > > >> uilder.resolveDependencies(Maven31DependencyGraphBuilder.java:113) at > > >> > org.apache.maven.shared.dependency.graph.internal.Maven31DependencyGraphB > > >> uilder.buildDependencyGraph(Maven31DependencyGraphBuilder.java:99)>> > > >> at > > >> > > >> > org.apache.maven.shared.dependency.graph.internal.DefaultDependencyGraphB > > >> uilder.buildDependencyGraph(DefaultDependencyGraphBuilder.java:74) at > > >> > com.jayway.maven.plugins.android.common.DependencyResolver.getProjectDepe > > >> ndenciesFor(DependencyResolver.java:54)>> > > >> at > > >> > > >> > com.jayway.maven.plugins.android.phase_prebuild.ClasspathModifierLifecycl > > >> > eParticipant.afterProjectsRead(ClasspathModifierLifecycleParticipant.java > > >> :78) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317) > > >> > > >> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) > > >> > > >> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) > > >> > > >> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213) > > >> > > >> at org.apache.maven.cli.MavenCli.main(MavenCli.java:157) > > >> > > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > >> > > >> at > > >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java > > >> :57)>> > > >> at > > >> > > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI > > >> mpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) > > >> > > >> at > > >> > > >> > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher > > >> .java:289) at > > >> > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:22 > > >> 9) > > >> > > >> at > > >> > > >> > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launch > > >> er.java:415) at > > >> > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) > > >> > > >> > > >> William > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
