List of usage examples for org.apache.maven.repository RepositorySystem resolve
ArtifactResolutionResult resolve(ArtifactResolutionRequest request);
From source file:com.yelbota.plugins.nd.DependencyHelper.java
License:Apache License
/** * Resolves native dependency artifact. First it checks plugin dependencies * compares they with getDefaultArtifactId() and getDefaultGroupId(), then method * tries to resolve from repositories using also getDefaultVersion(), getDefaultPackaging() * and getDefaultClassifier()./*from ww w. ja va2s.c om*/ * * @param pluginArtifacts list of plugin dependencies (inject this with @parameter) * @param repositorySystem inject this with @parameter * @param localRepository inject this with @parameter * @param remoteRepositories inject this with @parameter * @return Native dependency artifact * @throws MojoFailureException */ public Artifact resolve(List<Artifact> pluginArtifacts, RepositorySystem repositorySystem, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories) throws MojoFailureException { Artifact artifact = null; if (pluginArtifacts != null) { // Lookup plugin artifacts. for (Artifact pluginArtifact : pluginArtifacts) { boolean eqGroupId = pluginArtifact.getGroupId().equals(getDefaultGroupId()); boolean eqArtifactId = pluginArtifact.getArtifactId().equals(getDefaultArtifactId()); if (eqGroupId && eqArtifactId) { artifact = pluginArtifact; break; } } } if (artifact != null) { return artifact; } else { // Okay. Lets download sdk if (repositorySystem != null) { artifact = repositorySystem.createArtifactWithClassifier( getDefaultGroupId(), getDefaultArtifactId(), getDefaultVersion(), getDefaultPackaging(), getDefaultClassifier()); ArtifactResolutionRequest request = new ArtifactResolutionRequest(); request.setArtifact(artifact); request.setLocalRepository(localRepository); request.setRemoteRepositories(remoteRepositories); ArtifactResolutionResult resolutionResult = repositorySystem.resolve(request); if (!resolutionResult.isSuccess()) { String message = "Failed to resolve artifact " + artifact; throw new ArtifactResolutionException(message, resolutionResult); } } return artifact; } }
From source file:guru.nidi.maven.tools.MavenUtil.java
License:Apache License
public static ArtifactResolutionResult resolveArtifact(MavenSession session, RepositorySystem repository, Artifact artifact, boolean transitive, ArtifactFilter resolutionFilter) { artifact.setArtifactHandler(new DefaultArtifactHandler(artifact.getType())); ArtifactResolutionRequest request = new ArtifactResolutionRequest().setArtifact(artifact) .setResolveRoot(true).setServers(session.getRequest().getServers()) .setMirrors(session.getRequest().getMirrors()).setProxies(session.getRequest().getProxies()) .setLocalRepository(session.getLocalRepository()) .setRemoteRepositories(session.getRequest().getRemoteRepositories()) .setResolveTransitively(transitive).setCollectionFilter(resolutionFilter) .setResolutionFilter(resolutionFilter); //.setListeners(Arrays.<ResolutionListener>asList(new DebugResolutionListener(new ConsoleLogger()))); return repository.resolve(request); }
From source file:org.ebayopensource.turmeric.eclipse.mavenapi.internal.util.MavenApiUtil.java
License:Open Source License
/** * Tries to resolve the given artifact in the given local/remote * repositories./*from w w w. ja v a2 s.c o m*/ * * @param embedder the embedder * @param artifact the artifact * @param localRepository the local repository * @param remoteRepositories the remote repositories * @param resolveDependencies the resolve dependencies * @return the artifact resolution result * @throws MavenEclipseApiException the maven eclipse api exception */ public static ArtifactResolutionResult resolveArtifact(RepositorySystem embedder, Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories, boolean resolveDependencies) throws MavenEclipseApiException { if (embedder == null) { return null; } ArtifactResolutionRequest request = new ArtifactResolutionRequest(); request.setArtifact(artifact); request.setLocalRepository(localRepository); request.setRemoteRepositories(remoteRepositories); request.setResolveTransitively(resolveDependencies); return embedder.resolve(request); }
From source file:org.fusesource.mop.MOPRepository.java
License:Open Source License
public Set<Artifact> resolveArtifacts(ArtifactFilter filter, final ArtifactId id) throws Exception, InvalidRepositoryException { debug("Resolving artifact " + id); RepositorySystem repositorySystem = (RepositorySystem) getContainer().lookup(RepositorySystem.class); List<ArtifactRepository> remoteRepositories = createRemoteRepositories(repositorySystem); ArtifactRepository localRepository = createLocalRepository(repositorySystem, "mop.local", getLocalRepo().getAbsolutePath(), false); // If group id is not set.. we can still look it up in the db // of installed artifacs. if (id.getGroupId() == null) { database(true, new DBCallback() { public void execute(Database database) throws Exception { // Makes groupId includeOptional.. we look it up in the database. if (id.getGroupId() == null) { Map<String, Set<String>> rc = Database .groupByGroupId(database.findByArtifactId(id.getArtifactId())); if (rc.isEmpty()) { throw new Exception( "Please qualify a group id: No local artifacts match: " + id.getArtifactId()); }//from ww w . j a v a 2s . co m if (rc.size() > 1) { System.out.println("Local artifacts that match:"); for (String s : rc.keySet()) { System.out.println(" " + s + ":" + id.getArtifactId()); } throw new Exception("Please qualify a group id: Multiple local artifacts match: " + id); } id.setGroupId(rc.keySet().iterator().next()); debug("Resolving artifact " + id); } } }); } if (online) { // Keep track that we are trying an install.. // If an install dies midway.. the repo will have partlly installed dependencies... // we may want to continue the install?? // database.beginInstall(id.toString()); } Artifact artifact = repositorySystem.createArtifactWithClassifier(id.getGroupId(), id.getArtifactId(), id.getVersion(), id.getType(), id.getClassifier()); // Setup the filters which will constrain the resulting dependencies.. List<ArtifactFilter> constraints = new ArrayList<ArtifactFilter>(); constraints.add(new ScopeArtifactFilter(scope)); if (!includeOptional) { constraints.add(new ArtifactFilter() { public boolean include(Artifact artifact) { return !artifact.isOptional(); } }); } if (filter != null) { constraints.add(filter); } ArtifactFilter filters = new AndArtifactFilter(constraints); ArtifactResolutionRequest request = new ArtifactResolutionRequest().setArtifact(artifact) .setResolveRoot(true).setResolveTransitively(isTransitive()).setLocalRepository(localRepository) .setRemoteRepositories(remoteRepositories).setOffline(!online).setCollectionFilter(filters); ArtifactResolutionResult result = repositorySystem.resolve(request); List<Artifact> list = result.getMissingArtifacts(); if (!list.isEmpty()) { throw new Exception("The following artifacts could not be downloaded: " + list); } if (/* result.getArtifacts().isEmpty() && */!result.getExceptions().isEmpty()) { throw new Exception("Error resolving artifact " + artifact, result.getExceptions().get(0)); } Set<Artifact> rc = result.getArtifacts(); if (online) { // Have the DB index the installed the artifacts. final LinkedHashSet<String> installed = new LinkedHashSet<String>(); for (Artifact a : rc) { installed.add(a.getId()); } database(false, new DBCallback() { public void execute(Database database) throws Exception { database.install(installed); } }); } debug(" Resolved: " + id); for (Artifact a : rc) { debug(" depends on: " + a.getId() + ", scope: " + a.getScope() + ", optional: " + a.isOptional() + ", file: " + a.getFile()); } return rc; }
From source file:org.jboss.tools.maven.core.internal.resolution.ArtifactResolutionService.java
License:Open Source License
boolean isResolved(Artifact artifact, List<ArtifactRepository> repositories, IProgressMonitor monitor) throws CoreException { try {// w ww . ja v a 2 s .c o m RepositorySystem mavenRepositorySystem = MavenUtil.getRepositorySystem(); IMaven maven = MavenPlugin.getMaven(); ArtifactResolutionRequest request = new ArtifactResolutionRequest(); request.setArtifact(artifact); request.setLocalRepository(maven.getLocalRepository()); request.setOffline(MavenPlugin.getMavenConfiguration().isOffline()); request.setRemoteRepositories(repositories); request.setResolveTransitively(false); ArtifactResolutionResult resolution = mavenRepositorySystem.resolve(request); return resolution.isSuccess(); } catch (Exception e) { throw toCoreException(e); } }
From source file:org.onos.yangtools.yang2sources.plugin.Util.java
License:Open Source License
/** * Read transitive dependencies of given plugin and store them in map. * * @param plugin//w w w . j ava 2s. co m * plugin to read * @param map * map, where founded transitive dependencies will be stored * @param repoSystem * repository system * @param localRepository * local repository * @param remoteRepos * list of remote repositories * @param log * logger */ private static void getPluginTransitiveDependencies(Plugin plugin, Map<Artifact, Collection<Artifact>> map, RepositorySystem repoSystem, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepos, Log log) { 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); } }
From source file:org.opendaylight.yangtools.yang2sources.plugin.Util.java
License:Open Source License
/** * Read transitive dependencies of given plugin and store them in map. * * @param plugin/*from ww w . j a v a2 s . co m*/ * plugin to read * @param map * map, where founded transitive dependencies will be stored * @param repoSystem * repository system * @param localRepository * local repository * @param remoteRepos * list of remote repositories */ private static void getPluginTransitiveDependencies(final Plugin plugin, final Map<Artifact, Collection<Artifact>> map, final RepositorySystem repoSystem, final ArtifactRepository localRepository, final List<ArtifactRepository> remoteRepos) { 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); } }
From source file:org.phpmaven.project.impl.DependencyHelper.java
License:Apache License
/** * Resolves the artifact./* w w w .ja v a 2 s . com*/ * @param groupId group id * @param artifactId artifact id * @param version version * @param type type * @param classifier classifier * @return the resolved artifact * @throws PhpException thrown on resolve errors */ private static Artifact resolveArtifact(String groupId, String artifactId, String version, String type, String classifier, RepositorySystem reposSystem, MavenSession session) throws MojoExecutionException { final Artifact artifact = reposSystem.createArtifactWithClassifier(groupId, artifactId, version, type, classifier); final ArtifactResolutionRequest request = new ArtifactResolutionRequest(); request.setArtifact(artifact); request.setLocalRepository(session.getLocalRepository()); request.setOffline(session.isOffline()); final Set<ArtifactRepository> setRepos = new HashSet<ArtifactRepository>( session.getRequest().getRemoteRepositories()); setRepos.addAll(session.getCurrentProject().getRemoteArtifactRepositories()); request.setRemoteRepositories(new ArrayList<ArtifactRepository>(setRepos)); final ArtifactResolutionResult result = reposSystem.resolve(request); if (!result.isSuccess()) { throw new MojoExecutionException( "dependency resolution failed for " + groupId + ":" + artifactId + ":" + version); } final Artifact resultArtifact = result.getArtifacts().iterator().next(); return resultArtifact; }
From source file:org.sonatype.gshell.commands.artifact.ResolveCommand.java
License:Apache License
public Object execute(final CommandContext context) throws Exception { assert context != null; IO io = context.getIo();//from w ww. jav a 2 s. com RepositorySystem rsys = plexus.lookup(RepositorySystem.class); ArtifactResolutionRequest request = new ArtifactResolutionRequest(); String[] items = resolveId.split(":", 3); if (items.length != 3) { io.error("Invalid artifact resolution id: {}", resolveId); // TODO: i18n return Result.FAILURE; } String groupId = items[0]; String artifactId = items[1]; String version = items[2]; Artifact artifact; if (classifier != null) { artifact = rsys.createArtifactWithClassifier(groupId, artifactId, version, type, classifier); } else { artifact = rsys.createArtifact(groupId, artifactId, version, type); } io.println("Resolving artifact: {}", artifact); // TODO: i18n // // TODO: Bring the ArtifactManager/ArtifactRepsitoryManager back to manage these components request.setLocalRepository(rsys.createDefaultLocalRepository()); request.setRemoteRepositories(Collections.singletonList(rsys.createDefaultRemoteRepository())); request.setResolveRoot(true); request.setResolveTransitively(transitive); request.setArtifact(artifact); if (scope != null) { io.debug("Using scope: {}", scope); request.setCollectionFilter(new ScopeArtifactFilter(scope)); } request.setOffline(offline); request.setTransferListener(new ProgressSpinnerMonitor(io)); ArtifactResolutionResult result = rsys.resolve(request); Set<Artifact> artifacts = result.getArtifacts(); io.println("Resolved artifacts:"); // TODO: i18n for (Artifact a : artifacts) { io.println(" {}", a); } return Result.SUCCESS; }
From source file:org.wso2.maven.p2.utils.MavenUtils.java
License:Open Source License
/** * Returns an artifact which represented by a the given CarbonArtifact. * * @param groupId {@code String} group id of the maven artifact * @param artifactId {@code String} artifact id of the maven artifact * @param version {@code String} version of the maven artifact * @param repositorySystem {@link RepositorySystem} * @param remoteRepositories {@code List<ArtifactRepository>} * @param localRepository {@link ArtifactRepository} * @param type {@code String}// w w w .j a va 2 s. c o m * @return {@link Artifact} */ private static Artifact getResolvedArtifact(String groupId, String artifactId, String version, RepositorySystem repositorySystem, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository, String type) { Artifact artifact = repositorySystem.createArtifact(groupId, artifactId, version, Artifact.SCOPE_RUNTIME, type); ArtifactResolutionRequest request = new ArtifactResolutionRequest(); request.setArtifact(artifact); request.setLocalRepository(localRepository); request.setRemoteRepositories(remoteRepositories); repositorySystem.resolve(request); return artifact; }