public static Dependency convertToDependency(ResourceFactory factory, DependencyNode node) { org.eclipse.aether.graph.Dependency artifactDependency = node.getDependency(); Artifact artifact = artifactDependency.getArtifact(); File file = artifact.getFile(); @SuppressWarnings("unchecked") FileResource<?> artifactResource = factory.create(FileResource.class, file); Dependency d = DependencyBuilder.create().setArtifactId(artifact.getArtifactId()) .setGroupId(artifact.getGroupId()).setVersion(artifact.getBaseVersion()) .setPackaging(artifact.getExtension()).setArtifact(artifactResource) .setOptional(artifactDependency.isOptional()) .setClassifier(artifact.getClassifier()) .setScopeType(artifactDependency.getScope()); return d; }
public static DependencyBuilder create(final Dependency dep) { DependencyBuilder builder = new DependencyBuilder(); builder.setCoordinate(dep.getCoordinate()); builder.setScopeType(dep.getScopeType()); builder.setArtifact(dep.getArtifact()); builder.setExcludedCoordinates(dep.getExcludedCoordinates()); builder.setOptional(dep.isOptional()); return builder; }
@Override public Dependency resolveArtifact(DependencyQuery query) { RepositorySystem system = container.getRepositorySystem(); Settings settings = container.getSettings(); List<RemoteRepository> remoteRepos = MavenConvertUtils.convertToMavenRepos(query.getDependencyRepositories(), settings); remoteRepos.addAll(MavenRepositories.getRemoteRepositories(container, settings)); DefaultRepositorySystemSession session = container.setupRepoSession(system, settings); Artifact queryArtifact = MavenConvertUtils.coordinateToMavenArtifact(query.getCoordinate()); ArtifactRequest request = new ArtifactRequest(queryArtifact, remoteRepos, null); try { ArtifactResult resolvedArtifact = system.resolveArtifact(session, request); Artifact artifact = resolvedArtifact.getArtifact(); @SuppressWarnings("unchecked") FileResource<?> artifactResource = getResourceFactory().create(FileResource.class, artifact.getFile()); return DependencyBuilder.create() .setArtifact(artifactResource) .setGroupId(artifact.getGroupId()) .setArtifactId(artifact.getArtifactId()) .setClassifier(artifact.getClassifier()) .setPackaging(artifact.getExtension()) .setVersion(artifact.getBaseVersion()); } catch (ArtifactResolutionException e) { throw new MavenOperationException(e); } }