private void process( DefaultDependencyResolutionResult result, Collection<ArtifactResult> results ) { for ( ArtifactResult ar : results ) { DependencyNode node = ar.getRequest().getDependencyNode(); if ( ar.isResolved() ) { result.addResolvedDependency( node.getDependency() ); } else { result.setResolutionErrors( node.getDependency(), ar.getExceptions() ); } } }
/** * Logs the paths for each dependency not found * * @param node root {@link DependencyNode}, can be a "null" root (imaginary root) * @param e {@link DependencyResolutionException} the error to collect paths. */ private void logUnresolvedArtifacts(DependencyNode node, DependencyResolutionException e) { List<ArtifactResult> artifactResults = e.getResult().getArtifactResults().stream() .filter(artifactResult -> !artifactResult.getExceptions().isEmpty()).collect(toList()); final List<String> patternInclusion = artifactResults.stream().map(artifactResult -> toId(artifactResult.getRequest().getArtifact())).collect(toList()); PathRecordingDependencyVisitor visitor = new PathRecordingDependencyVisitor(new PatternInclusionsDependencyFilter(patternInclusion), node.getArtifact() != null); node.accept(visitor); visitor.getPaths().stream().forEach(path -> { List<DependencyNode> unresolvedArtifactPath = path.stream().filter(dependencyNode -> dependencyNode.getArtifact() != null).collect(toList()); if (!unresolvedArtifactPath.isEmpty()) { logger.warn("Dependency path to not resolved artifacts -> {}", unresolvedArtifactPath.toString()); } }); }
ResolutionItem( RequestTrace trace, Artifact artifact, AtomicBoolean resolved, ArtifactResult result, LocalArtifactResult local, RemoteRepository repository ) { this.trace = trace; this.artifact = artifact; this.resolved = resolved; this.result = result; this.request = result.getRequest(); this.local = local; this.repository = repository; }
ResolutionItem( RequestTrace trace, Artifact artifact, AtomicBoolean resolved, ArtifactResult result, LocalArtifactResult local, RemoteRepository repository ) { this.trace = trace; this.artifact = artifact; this.resolved = resolved; this.result = result; this.request = result.getRequest(); this.local = local; this.repository = repository; }
buffer.append( result.getRequest().getArtifact() ); sep = ", ";
buffer.append( result.getRequest().getArtifact() ); sep = ", ";
private void updateNodesWithResolvedArtifacts( List<ArtifactResult> results ) { for ( ArtifactResult result : results ) { Artifact artifact = result.getArtifact(); if ( artifact != null ) { result.getRequest().getDependencyNode().setArtifact( artifact ); } } }
private void updateNodesWithResolvedArtifacts( List<ArtifactResult> results ) { for ( ArtifactResult result : results ) { Artifact artifact = result.getArtifact(); if ( artifact != null ) { result.getRequest().getDependencyNode().setArtifact( artifact ); } } }
/** * Logs the paths for each dependency not found * * @param node root {@link DependencyNode}, can be a "null" root (imaginary root) * @param e {@link DependencyResolutionException} the error to collect paths. */ private void logUnresolvedArtifacts(DependencyNode node, DependencyResolutionException e) { List<ArtifactResult> artifactResults = e.getResult().getArtifactResults().stream() .filter(artifactResult -> !artifactResult.getExceptions().isEmpty()).collect(toList()); final List<String> patternInclusion = artifactResults.stream().map(artifactResult -> toId(artifactResult.getRequest().getArtifact())).collect(toList()); PathRecordingDependencyVisitor visitor = new PathRecordingDependencyVisitor(new PatternInclusionsDependencyFilter(patternInclusion), node.getArtifact() != null); node.accept(visitor); visitor.getPaths().stream().forEach(path -> { List<DependencyNode> unresolvedArtifactPath = path.stream().filter(dependencyNode -> dependencyNode.getArtifact() != null).collect(toList()); if (!unresolvedArtifactPath.isEmpty()) { logger.warn("Dependency path to not resolved artifacts -> {}", unresolvedArtifactPath.toString()); } }); }
Artifact toArtifact(final ArtifactResult ar) { if (ar == null) return null; final Artifact artifact = new org.apache.maven.artifact.DefaultArtifact( ar.getArtifact().getGroupId(), ar.getArtifact().getArtifactId(), ar.getArtifact().getVersion(), null, "jar", ar.getArtifact().getClassifier(), null); if (ar.getRequest().getDependencyNode() != null && ar.getRequest().getDependencyNode().getDependency() != null) { artifact.setScope(ar.getRequest().getDependencyNode().getDependency().getScope()); artifact.setOptional(ar.getRequest().getDependencyNode().getDependency().isOptional()); } if (artifact.getScope() == null || artifact.getScope().isEmpty()) artifact.setScope("compile"); artifact.setFile(ar.getArtifact().getFile()); return artifact; }
public List<Artifact> getDependencies(String groupId, String artifactId, String extension, String version) throws Exception { Artifact artifact = new DefaultArtifact(groupId, artifactId, extension, version); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency( artifact, "")); collectRequest.setRepositories(Collections.emptyList()); DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE)); DependencyResult dependencyResult = system.resolveDependencies(session, dependencyRequest); List<Artifact> dependencies = new ArrayList<>(); for (ArtifactResult artifactResult : dependencyResult.getArtifactResults()) { if (!artifactResult.isResolved()) { throw new Exception("Could not resolve artifact " + artifactResult.getRequest().getArtifact()); } dependencies.add(artifactResult.getArtifact()); } return dependencies; }
/** * Creates MavenResolvedArtifact based on ArtifactResult. * * @param artifactResult * @return */ static MavenResolvedArtifact fromArtifactResult(final ArtifactResult artifactResult) { final Artifact artifact = artifactResult.getArtifact(); final DependencyNode root = artifactResult.getRequest().getDependencyNode(); // SHRINKRES-143 lets ignore invalid scope ScopeType scopeType = ScopeType.RUNTIME; try { scopeType = ScopeType.fromScopeType(root.getDependency().getScope()); } catch (IllegalArgumentException e) { // let scope be RUNTIME log.log(Level.WARNING, "Invalid scope {0} of retrieved dependency {1} will be replaced by <scope>runtime</scope>", new Object[] { root.getDependency().getScope(), root.getDependency().getArtifact() }); } final List<DependencyNode> children = root.getChildren(); final boolean optional = root.getDependency().isOptional(); return new MavenResolvedArtifactImpl(artifact, scopeType, children, optional); }
/** * Creates MavenResolvedArtifact based on ArtifactResult. * * @param artifactResult * @return */ static MavenResolvedArtifact fromArtifactResult(final ArtifactResult artifactResult) { final Artifact artifact = artifactResult.getArtifact(); final DependencyNode root = artifactResult.getRequest().getDependencyNode(); // SHRINKRES-143 lets ignore invalid scope ScopeType scopeType = ScopeType.RUNTIME; try { scopeType = ScopeType.fromScopeType(root.getDependency().getScope()); } catch (IllegalArgumentException e) { // let scope be RUNTIME log.log(Level.WARNING, "Invalid scope {0} of retrieved dependency {1} will be replaced by <scope>runtime</scope>", new Object[] { root.getDependency().getScope(), root.getDependency().getArtifact() }); } final List<DependencyNode> children = root.getChildren(); final boolean optional = root.getDependency().isOptional(); return new MavenResolvedArtifactImpl(artifact, scopeType, children, optional); }
ArtifactRequest request = result.getRequest();
ArtifactRequest request = result.getRequest();