package de.twenty11.skysail.server.ext.maven;
import org.sonatype.aether.RepositorySystem;
import org.sonatype.aether.RepositorySystemSession;
import org.sonatype.aether.collection.CollectRequest;
import org.sonatype.aether.graph.Dependency;
import org.sonatype.aether.graph.DependencyNode;
import org.sonatype.aether.repository.RemoteRepository;
import org.sonatype.aether.resolution.DependencyRequest;
import org.sonatype.aether.util.artifact.DefaultArtifact;
import org.sonatype.aether.util.graph.PreorderNodeListGenerator;
public class App {
public static void main(String[] args) throws Exception {
RepositorySystem repoSystem = Booter.newRepositorySystem();
RepositorySystemSession session = Booter.newSession(repoSystem);
Dependency dependency = new Dependency(new DefaultArtifact(
"org.apache.maven:maven-profile:2.2.1"), "compile");
RemoteRepository central = new RemoteRepository("central", "default",
"http://repo1.maven.org/maven2/"); // repo1.maven.org
CollectRequest collectRequest = new CollectRequest();
collectRequest.setRoot(dependency);
collectRequest.addRepository(central);
DependencyNode node = repoSystem.collectDependencies(session,
collectRequest).getRoot();
DependencyRequest dependencyRequest = new DependencyRequest(node, null);
repoSystem.resolveDependencies(session, dependencyRequest);
PreorderNodeListGenerator nlg = new PreorderNodeListGenerator();
node.accept(nlg);
System.out.println(nlg.getClassPath());
}
}