use of org.sonatype.aether.artifact.Artifact in project zeppelin by apache.
the class DependencyContext method fetchArtifactWithDep.
private List<ArtifactResult> fetchArtifactWithDep(Dependency dep) throws DependencyResolutionException, ArtifactResolutionException {
Artifact artifact = new DefaultArtifact(dep.getGroupArtifactVersion());
DependencyFilter classpathFilter = DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE);
PatternExclusionsDependencyFilter exclusionFilter = new PatternExclusionsDependencyFilter(dep.getExclusions());
CollectRequest collectRequest = new CollectRequest();
collectRequest.setRoot(new org.sonatype.aether.graph.Dependency(artifact, JavaScopes.COMPILE));
collectRequest.addRepository(mavenCentral);
collectRequest.addRepository(mavenLocal);
for (Repository repo : repositories) {
RemoteRepository rr = new RemoteRepository(repo.getId(), "default", repo.getUrl());
rr.setPolicy(repo.isSnapshot(), null);
collectRequest.addRepository(rr);
}
DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, DependencyFilterUtils.andFilter(exclusionFilter, classpathFilter));
return system.resolveDependencies(session, dependencyRequest).getArtifactResults();
}
use of org.sonatype.aether.artifact.Artifact in project zeppelin by apache.
the class SparkDependencyResolver method getArtifactsWithDep.
/**
* @param dependency
* @param excludes list of pattern can either be of the form groupId:artifactId
* @return
* @throws Exception
*/
@Override
public List<ArtifactResult> getArtifactsWithDep(String dependency, Collection<String> excludes) throws Exception {
Artifact artifact = new DefaultArtifact(inferScalaVersion(dependency));
DependencyFilter classpathFilter = DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE);
PatternExclusionsDependencyFilter exclusionFilter = new PatternExclusionsDependencyFilter(inferScalaVersion(excludes));
CollectRequest collectRequest = new CollectRequest();
collectRequest.setRoot(new Dependency(artifact, JavaScopes.COMPILE));
synchronized (repos) {
for (RemoteRepository repo : repos) {
collectRequest.addRepository(repo);
}
}
DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, DependencyFilterUtils.andFilter(exclusionFilter, classpathFilter));
return system.resolveDependencies(session, dependencyRequest).getArtifactResults();
}
use of org.sonatype.aether.artifact.Artifact in project gradle by gradle.
the class MavenInstallAction method publishArtifacts.
@Override
protected void publishArtifacts(Collection<Artifact> artifacts, RepositorySystem repositorySystem, RepositorySystemSession session) throws InstallationException {
InstallRequest request = new InstallRequest();
for (Artifact artifact : artifacts) {
request.addArtifact(artifact);
}
repositorySystem.install(session, request);
}
use of org.sonatype.aether.artifact.Artifact in project motech by motech.
the class ModuleAdminServiceImpl method resolveDependencies.
private List<ArtifactResult> resolveDependencies(Dependency dependency, PomInformation pomInformation) throws RepositoryException {
LOGGER.info("Resolving dependencies for {}", dependency);
org.apache.maven.repository.internal.DefaultServiceLocator locator = new org.apache.maven.repository.internal.DefaultServiceLocator();
locator.addService(RepositoryConnectorFactory.class, WagonRepositoryConnectorFactory.class);
locator.setServices(WagonProvider.class, new HttpWagonProvider());
RepositorySystem system = locator.getService(RepositorySystem.class);
MavenRepositorySystemSession mvnRepository = new MavenRepositorySystemSession();
mvnRepository.setLocalRepositoryManager(system.newLocalRepositoryManager(new LocalRepository(System.getProperty("java.io.tmpdir") + "/repo")));
RemoteRepository remoteRepository = new RemoteRepository("central", "default", "http://nexus.motechproject.org/content/repositories/public");
CollectRequest collectRequest = new CollectRequest();
if (pomInformation != null) {
String version = parseDependencyVersion(dependency, mvnRepository, system, remoteRepository, pomInformation);
String groupId = parseDependencyGroupId(dependency, mvnRepository, system, remoteRepository, pomInformation);
Artifact artifact = dependency.getArtifact();
Artifact updatedArtifact = new DefaultArtifact(groupId, artifact.getArtifactId(), artifact.getClassifier(), artifact.getExtension(), version);
// The method setArtifact instead of updating dependency object, creates new dependency object with the given artifact
// NO CHECKSTYLE ParameterAssignmentCheck
dependency = dependency.setArtifact(updatedArtifact);
if (pomInformation.getRepositories() != null) {
for (RemoteRepository repository : pomInformation.getRepositories()) {
collectRequest.addRepository(repository);
}
}
}
collectRequest.setRoot(dependency);
collectRequest.addRepository(remoteRepository);
DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, DependencyFilterUtils.classpathFilter(JavaScopes.RUNTIME));
try {
LOGGER.debug("Sending dependency request");
return system.resolveDependencies(mvnRepository, dependencyRequest).getArtifactResults();
} catch (RuntimeException e) {
LOGGER.error("Unable to resolve dependencies for {}", dependency.toString(), e);
return Collections.emptyList();
}
}
use of org.sonatype.aether.artifact.Artifact in project presto by prestodb.
the class PluginManager method buildClassLoaderFromPom.
private URLClassLoader buildClassLoaderFromPom(File pomFile) throws Exception {
List<Artifact> artifacts = resolver.resolvePom(pomFile);
URLClassLoader classLoader = createClassLoader(artifacts, pomFile.getPath());
Artifact artifact = artifacts.get(0);
Set<String> plugins = discoverPlugins(artifact, classLoader);
if (!plugins.isEmpty()) {
writePluginServices(plugins, artifact.getFile());
}
return classLoader;
}
Aggregations