private List<Artifact> resolveDependenciesInArtifacts(String groupArtifactVersion) { List<Artifact> results = null; try { results = resolveDependencies(groupArtifactVersion); } catch (ArtifactDescriptorException | DependencyCollectionException | DependencyResolutionException e) { LOG.debug(e.getMessage(), e); } return results != null ? results : Lists.<Artifact>newArrayList(); }
private static ArchivesAndSupplementaryArchives convertGavs(String[] gavs, String errorMessagePrefix, File localRepo, List<RemoteRepository> remoteRepositories) { RepositorySystem repositorySystem = MavenBootstrap.newRepositorySystem(); DefaultRepositorySystemSession session = MavenBootstrap.newRepositorySystemSession(repositorySystem, localRepo); String[] topLevelScopes = new String[]{"compile", "provided"}; String[] transitiveScopes = new String[]{"compile"}; session.setDependencySelector(new ScopeDependencySelector(topLevelScopes, transitiveScopes)); session.setDependencyTraverser(new ScopeDependencyTraverser(topLevelScopes, transitiveScopes)); ArtifactResolver resolver = new ArtifactResolver(repositorySystem, session, remoteRepositories); List<FileArchive> archives = new ArrayList<>(); List<FileArchive> supplementaryArchives = new ArrayList<>(); for (String gav : gavs) { try { archives.add(new FileArchive(resolver.resolveArtifact(gav).getFile())); ArtifactResolver.CollectionResult res = resolver.collectTransitiveDeps(gav); res.getResolvedArtifacts(). forEach(a -> supplementaryArchives.add(new FileArchive(a.getFile()))); if (!res.getFailures().isEmpty()) { LOG.warn("Failed to resolve some transitive dependencies: " + res.getFailures().toString()); } } catch (RepositoryException e) { throw new IllegalArgumentException(errorMessagePrefix + " " + e.getMessage()); } } return new ArchivesAndSupplementaryArchives(archives, supplementaryArchives); }
throw new MojoExecutionException("Could not resolve processorpath: " + e.getMessage(), e);
throw new MojoExecutionException("Could not resolve processorpath: " + e.getMessage(), e);
return Analyzer.resolveConstrained(project, gav, versionRegex, resolver); } catch (VersionRangeResolutionException | ArtifactResolutionException e) { getLog().warn("Could not resolve artifact '" + gav + "' with message: " + e.getMessage()); return null;
+ ": " + e.getMessage(), e );
+ ": " + e.getMessage(), e );
throw new DependencyResolutionException(e.getMessage(), e);
/** * * @param artifact {@link Artifact} * @param getDependenciesOfDependency get dependencies of dependency * @throws DependencyResolutionException * @throws IOException */ private void resolveTestDependenciesAndCopyWithTransitivity(Artifact artifact, boolean getDependenciesOfDependency) throws DependencyResolutionException, IOException { ArtifactDescriptorRequest request = new ArtifactDescriptorRequest(artifact, repositoryList, null); try { ArtifactDescriptorResult result = repositorySystem.readArtifactDescriptor(repositorySystemSession, request); for (Dependency dep: result.getDependencies()){ // Here we can not filter dependencies by scope. // we need to use dependencies with any scope, because tests are needed to test, // and provided, and especially compile-scoped dependencies ArtifactResult artifactResult = repositorySystem.resolveArtifact(repositorySystemSession, new ArtifactRequest(dep.getArtifact(), repositoryList, null)); if(isLibraryArtifact(artifactResult.getArtifact())){ copyArtifact(artifactResult.getArtifact(), libDirectory); } else { getLog().debug("Artifact "+artifactResult.getArtifact()+" is not a library, ignoring"); } copyTransitiveRuntimeDependenciesToLibDirectory(dep, getDependenciesOfDependency); } } catch (ArtifactDescriptorException | ArtifactResolutionException e) { throw new DependencyResolutionException(e.getMessage(), e); } }
throw new DeploymentException( "Failed to update metadata " + metadata + ": " + e.getMessage(), e );
throw new DeploymentException( "Failed to update metadata " + metadata + ": " + e.getMessage(), e );