OK, so it will resolve from the reactor. But is the ArtifactResolutionResult going to contain the dependencies of the Artifact that I resolve?
On Fri, Jun 20, 2014 at 6:46 PM, Hervé BOUTEMY <herve.bout...@free.fr> wrote: > Le vendredi 20 juin 2014 08:36:46 William Ferguson a écrit : > > Hi Dan, > > > > if the ArtifactResolutionResult contains the deps for the Artifact in the > > request then that's exactly what I want. However I can't see that it > does. > > What am I missing? > > > > NB the resolution also needs to be able to resolve Artifacts in the > > reactor. I'm pretty certain that > > > > @Component > > private org.apache.maven.repository.RepositorySystem repository; > > > > is only going to resolve from the local repo, not the reactor, right? > wrong, I already: > - explained it > - updated maven-dependency-tree javadoc to keep track of explanations [1] > - updated the reactor IT to prove that it runs as expected (ie not resolved > before compile, but resolved after compile) > > Regards, > > Hervé > > [1] > http://maven.apache.org/shared-archives/maven-dependency-tree-LATEST/apidocs/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.html > > > > > William > > > > On Fri, Jun 20, 2014 at 4:58 AM, Daniel Kulp <dk...@apache.org> wrote: > > > For Aries, I ended up doing: > > > @Component > > > private org.apache.maven.repository.RepositorySystem repository; > > > > > > private File resolve(String artifactDescriptor) { > > > > > > String[] s = artifactDescriptor.split(":"); > > > > > > String type = (s.length >= 4 ? s[3] : "jar"); > > > Artifact artifact = repository.createArtifact(s[0], s[1], s[2], > > > > > > type); > > > > > > ArtifactResolutionRequest request = new > > > > > > ArtifactResolutionRequest(); > > > > > > request.setArtifact(artifact); > > > > > > request.setResolveRoot(true).setResolveTransitively(false); > > > request.setServers( session.getRequest().getServers() ); > > > request.setMirrors( session.getRequest().getMirrors() ); > > > request.setProxies( session.getRequest().getProxies() ); > > > request.setLocalRepository(session.getLocalRepository()); > > > > > > > request.setRemoteRepositories(session.getRequest().getRemoteRepositories() > > > );> > > > repository.resolve(request); > > > return artifact.getFile(); > > > > > > } > > > > > > If you set “setResolveTransitively(true)” then the > > > ArtifactResolutionResponse would have all the deps available in it. > > > > > > That seems to work for both Maven 3.0 and 3.1/3.2. > > > > > > Dan > > > > > > > > > Op Thu, 19 Jun 2014 00:01:52 +0200 schreef William Ferguson < > > > > > > william.fergu...@xandar.com.au>: > > > > I asked on maven-users but didn't get any viable responses. So I'm > > > > hoping > > > > someone here can help. > > > > > > > > -------------------------- > > > > I have a Mojo that needs to work with Maven 3.0.* and 3.1+ > > > > > > > > In the Mojo I have an Artifact and I need to resolve it's > dependencies. > > > > > > How > > > > > > > can/should I do it? > > > > > > > > If I can resolve the Artifact to a MavenProject then I can use > > > > DependencyGraphBuilder (from maven-dependency-tree) to construct a > graph > > > > > > of > > > > > > > the deps. But I'm struggling to make the Artifact to MavenProject > > > > conversion happen. > > > > > > > > I thought that If I could get a URL to the Artifact's POM file then I > > > > > > could > > > > > > > use DefaultMavenRuntime (maven-runtime) to resolve the URL into a > > > > MavenProject. But > > > > > > > > 1. I can't work out how to get a URL to the artifact's POM file (it > > > > needs to handle both reactor artifacts and repo artifacts) > > > > 2. Even with a URL to the POM file, MavenRuntime#getProject) is > > > > returning null. > > > > > > > > Can someone please point me in the right direction? > > > > Am I even on the right path or is there a much more straight forward > way > > > > > > of > > > > > > > getting the dependencies for the Artifact? > > > > -------------------------- > > > > > > > > William > > > > > > -- > > > Daniel Kulp > > > dk...@apache.org - http://dankulp.com/blog > > > Talend Community Coder - http://coders.talend.com > > > > > > > > > --------------------------------------------------------------------- > > > 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 > >