- for (Dependency dep : plugin.getDependencies()) {
- String artifactCoords = dep.getGroupId() + ":" + dep.getArtifactId() + ":" + dep.getVersion();
- org.sonatype.aether.artifact.Artifact artifact = new org.sonatype.aether.util.artifact.DefaultArtifact(
- artifactCoords);
-
- if (!(map.containsKey(artifact))) {
- DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE);
- CollectRequest collectRequest = new CollectRequest();
- collectRequest.setRoot(new org.sonatype.aether.graph.Dependency(artifact, JavaScopes.COMPILE));
- collectRequest.setRepositories(remoteRepos);
- DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, classpathFlter);
-
- List<ArtifactResult> artifactResults;
- try {
- artifactResults = repoSystem.resolveDependencies(repoSession, dependencyRequest)
- .getArtifactResults();
- List<org.sonatype.aether.artifact.Artifact> deps = new ArrayList<>();
- for (ArtifactResult ar : artifactResults) {
- deps.add(ar.getArtifact());
- }
- map.put(artifact, deps);
- } catch (DependencyResolutionException e) {
- log.warn(message("Failed to resolve plugin dependencies, version check skipped",
- YangToSourcesProcessor.LOG_PREFIX));
- }
- }
+
+ List<Dependency> pluginDependencies = plugin.getDependencies();
+ for (Dependency dep : pluginDependencies) {
+ Artifact artifact = repoSystem.createDependencyArtifact(dep);
+
+ ArtifactResolutionRequest request = new ArtifactResolutionRequest();
+ request.setArtifact(artifact);
+ request.setResolveTransitively(true);
+ request.setLocalRepository(localRepository);
+ request.setRemoteRepositories(remoteRepos);
+
+ ArtifactResolutionResult result = repoSystem.resolve(request);
+ Set<Artifact> pluginDependencyDependencies = result.getArtifacts();
+ map.put(artifact, pluginDependencyDependencies);