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