List of usage examples for org.apache.maven RepositoryUtils toDependency
public static Dependency toDependency(org.apache.maven.model.Dependency dependency, ArtifactTypeRegistry stereotypes)
From source file:de.jutzig.maven.eclipse.feature.CreateFeatureMojo.java
public void execute() throws MojoExecutionException, MojoFailureException { try {// w ww . j ava 2 s . c o m computeExcludes(); writeHeader(); List<Dependency> dependencies = project.getDependencies(); for (Dependency dependency : dependencies) { if (ignoreArtifact(dependency)) continue; org.sonatype.aether.graph.Dependency dep2 = RepositoryUtils.toDependency(dependency, repoSession.getArtifactTypeRegistry()); DependencyNode node = new DefaultDependencyNode(dep2); ArtifactRequest request = new ArtifactRequest(node); ArtifactResult result = repoSystem.resolveArtifact(repoSession, request); Artifact artifact = result.getArtifact(); writeArtifact(artifact); } serializeOutput(); addResource(); } catch (ParserConfigurationException e) { throw new MojoExecutionException("failed to generate feature.xml", e); } catch (ArtifactResolutionException e) { throw new MojoExecutionException("failed to resolve dependency", e); } catch (TransformerException e) { throw new MojoExecutionException("failed to serialize results", e); } catch (IOException e) { throw new MojoExecutionException("failed to generate feature.xml", e); } catch (RuntimeException e) { getLog().error(e); } }
From source file:org.apache.commons.weaver.maven.AbstractCWMojo.java
License:Apache License
private List<String> createClasspath() throws DependencyResolutionException { final CollectRequest collect = new CollectRequest(); collect.setRootArtifact(RepositoryUtils.toArtifact(project.getArtifact())); collect.setRequestContext("project"); collect.setRepositories(project.getRemoteProjectRepositories()); for (final Dependency dependency : project.getDependencies()) { // guard against case where best-effort resolution for invalid models is requested: if (StringUtils.isAnyBlank(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion())) { continue; }//from ww w. j a v a 2s . c o m collect.addDependency( RepositoryUtils.toDependency(dependency, repositorySystemSession.getArtifactTypeRegistry())); } final DependencyResult dependencyResult = repositorySystem.resolveDependencies(repositorySystemSession, new DependencyRequest().setFilter(new ScopeDependencyFilter(getExcludeScopes())) .setCollectRequest(collect)); return dependencyResult.getArtifactResults().stream() .map(ar -> ar.getArtifact().getFile().getAbsolutePath()).distinct().collect(Collectors.toList()); }
From source file:org.commonjava.emb.project.graph.DependencyGraphResolver.java
License:Apache License
private DependencyGraph accumulate(final ProjectToolsSession session, final RepositorySystemSession rss, final Collection<MavenProject> projects, final RemoteRepository... remoteRepositories) { final ArtifactTypeRegistry stereotypes = rss.getArtifactTypeRegistry(); final DependencyGraph depGraph = session.getDependencyGraph(); final GraphAccumulator accumulator = new GraphAccumulator(depGraph); for (final MavenProject project : projects) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Collecting dependencies for: " + project); }/* w w w . j a va2 s . c o m*/ final CollectRequest request = new CollectRequest(); request.setRequestContext("project"); request.setRepositories(Arrays.asList(remoteRepositories)); if (project.getDependencyArtifacts() == null) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Adding dependencies to collection request..."); } for (final Dependency dependency : project.getDependencies()) { request.addDependency(RepositoryUtils.toDependency(dependency, stereotypes)); } } else { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Mapping project dependencies by management key..."); } final Map<String, Dependency> dependencies = new HashMap<String, Dependency>(); for (final Dependency dependency : project.getDependencies()) { final String key = dependency.getManagementKey(); dependencies.put(key, dependency); } if (LOGGER.isDebugEnabled()) { LOGGER.debug("Adding dependencies to collection request..."); } for (final org.apache.maven.artifact.Artifact artifact : project.getDependencyArtifacts()) { final String key = artifact.getDependencyConflictId(); final Dependency dependency = dependencies.get(key); final Collection<org.apache.maven.model.Exclusion> exclusions = dependency != null ? dependency.getExclusions() : null; org.sonatype.aether.graph.Dependency dep = RepositoryUtils.toDependency(artifact, exclusions); if (!JavaScopes.SYSTEM.equals(dep.getScope()) && dep.getArtifact().getFile() != null) { // enable re-resolution org.sonatype.aether.artifact.Artifact art = dep.getArtifact(); art = art.setFile(null).setVersion(art.getBaseVersion()); dep = dep.setArtifact(art); } request.addDependency(dep); } } final DependencyManagement depMngt = project.getDependencyManagement(); if (depMngt != null) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Adding managed dependencies to collection request..."); } for (final Dependency dependency : depMngt.getDependencies()) { request.addManagedDependency(RepositoryUtils.toDependency(dependency, stereotypes)); } } if (LOGGER.isDebugEnabled()) { LOGGER.debug("Collecting dependencies..."); } CollectResult result; try { result = repositorySystem.collectDependencies(rss, request); } catch (final DependencyCollectionException e) { // TODO: Handle problem resolving POMs... result = e.getResult(); // result.setDependencyGraph( e.getResult().getRoot() ); // result.setCollectionErrors( e.getResult().getExceptions() ); // // throw new DependencyResolutionException( result, "Could not resolve dependencies for project " // + project.getId() + ": " + e.getMessage(), e ); } final DependencyNode root = result.getRoot(); final DepGraphRootNode rootNode = depGraph.addRoot(root, project); accumulator.resetForNextRun(root, rootNode); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Adding collected dependencies to consolidated dependency graph..."); } result.getRoot().accept(accumulator); } return depGraph; }
From source file:org.eclipse.m2e.core.embedder.MavenModelManager.java
License:Open Source License
DependencyNode readDependencyTree(RepositorySystemSession repositorySession, MavenProject mavenProject, String scope) throws CoreException { DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(repositorySession); DependencyGraphTransformer transformer = new ChainedDependencyGraphTransformer( new JavaEffectiveScopeCalculator(), new NearestVersionConflictResolver()); session.setDependencyGraphTransformer(transformer); ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); try {//from w w w . j a v a2 s. c o m Thread.currentThread().setContextClassLoader(maven.getProjectRealm(mavenProject)); ArtifactTypeRegistry stereotypes = session.getArtifactTypeRegistry(); CollectRequest request = new CollectRequest(); request.setRequestContext("project"); //$NON-NLS-1$ request.setRepositories(mavenProject.getRemoteProjectRepositories()); for (org.apache.maven.model.Dependency dependency : mavenProject.getDependencies()) { request.addDependency(RepositoryUtils.toDependency(dependency, stereotypes)); } DependencyManagement depMngt = mavenProject.getDependencyManagement(); if (depMngt != null) { for (org.apache.maven.model.Dependency dependency : depMngt.getDependencies()) { request.addManagedDependency(RepositoryUtils.toDependency(dependency, stereotypes)); } } DependencyNode node; try { node = MavenPluginActivator.getDefault().getRepositorySystem().collectDependencies(session, request) .getRoot(); } catch (DependencyCollectionException ex) { String msg = Messages.MavenModelManager_error_read; log.error(msg, ex); throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, msg, ex)); } Collection<String> scopes = new HashSet<String>(); Collections.addAll(scopes, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_COMPILE, Artifact.SCOPE_PROVIDED, Artifact.SCOPE_RUNTIME, Artifact.SCOPE_TEST); if (Artifact.SCOPE_COMPILE.equals(scope)) { scopes.remove(Artifact.SCOPE_COMPILE); scopes.remove(Artifact.SCOPE_SYSTEM); scopes.remove(Artifact.SCOPE_PROVIDED); } else if (Artifact.SCOPE_RUNTIME.equals(scope)) { scopes.remove(Artifact.SCOPE_COMPILE); scopes.remove(Artifact.SCOPE_RUNTIME); } else if (Artifact.SCOPE_COMPILE_PLUS_RUNTIME.equals(scope)) { scopes.remove(Artifact.SCOPE_COMPILE); scopes.remove(Artifact.SCOPE_SYSTEM); scopes.remove(Artifact.SCOPE_PROVIDED); scopes.remove(Artifact.SCOPE_RUNTIME); } else { scopes.clear(); } CloningDependencyVisitor cloner = new CloningDependencyVisitor(); node.accept(new FilteringDependencyVisitor(cloner, new ScopeDependencyFilter(null, scopes))); node = cloner.getRootNode(); return node; } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } }
From source file:org.jboss.tools.maven.apt.internal.utils.PluginDependencyResolver.java
License:Open Source License
/** * Looks up a plugin's dependencies (including the transitive ones) and return them as a list of {@link File} * <br/>/*from w w w . j av a 2s.c om*/ * Some of {@link MavenModelManager#readDependencyTree(org.eclipse.m2e.core.project.IMavenProjectFacade, MavenProject, String, IProgressMonitor)}'s logic has been copied and reused in this implementation. */ public synchronized List<File> getResolvedPluginDependencies(MavenSession mavenSession, MavenProject mavenProject, Plugin plugin, IProgressMonitor monitor) throws CoreException { monitor.setTaskName("Resolve plugin dependency"); IMaven maven = MavenPlugin.getMaven(); DefaultRepositorySystemSession session = new DefaultRepositorySystemSession( mavenSession.getRepositorySession()); DependencyGraphTransformer transformer = new ConflictResolver(new NearestVersionSelector(), new JavaScopeSelector(), new SimpleOptionalitySelector(), new JavaScopeDeriver()); session.setDependencyGraphTransformer( new ChainedDependencyGraphTransformer(transformer, new JavaDependencyContextRefiner())); ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); List<File> files = new ArrayList<File>(); try { Thread.currentThread().setContextClassLoader(maven.getProjectRealm(mavenProject)); ArtifactTypeRegistry stereotypes = session.getArtifactTypeRegistry(); CollectRequest request = new CollectRequest(); request.setRequestContext("plugin"); //$NON-NLS-1$ request.setRepositories(mavenProject.getRemoteProjectRepositories()); for (org.apache.maven.model.Dependency dependency : plugin.getDependencies()) { request.addDependency(RepositoryUtils.toDependency(dependency, stereotypes)); } DependencyFilter classpathFilter = DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE, JavaScopes.RUNTIME); DependencyRequest dependencyRequest = new DependencyRequest(request, classpathFilter); try { RepositorySystem system = MavenPluginActivator.getDefault().getRepositorySystem(); List<ArtifactResult> artifactResults = system.resolveDependencies(session, dependencyRequest) .getArtifactResults(); for (ArtifactResult artifactResult : artifactResults) { files.add(artifactResult.getArtifact().getFile()); } } catch (DependencyResolutionException e) { String msg = "Unable to collect dependencies for plugin"; log.error(msg, e); throw new CoreException(new Status(IStatus.ERROR, MavenJdtAptPlugin.PLUGIN_ID, -1, msg, e)); } } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } return files; }
From source file:org.nuxeo.build.maven.graph.DependencyUtils.java
License:Open Source License
/** * Look for a version in the project dependencyManagement for the given artifact and set it. * * @return The new artifact if the version changed, else the original one *//*w w w .ja va2 s . c om*/ public static Artifact setManagedVersion(Artifact artifact) { AntBuildMojo mojo = AntBuildMojo.getInstance(); List<org.apache.maven.model.Dependency> managedDeps = AntBuildMojo.getInstance().getProject() .getDependencyManagement().getDependencies(); for (org.apache.maven.model.Dependency dependency : managedDeps) { Artifact managedArtifact = RepositoryUtils .toDependency(dependency, mojo.getSession().getArtifactTypeRegistry()).getArtifact(); if (ArtifactIdUtils.equalsVersionlessId(managedArtifact, artifact)) { artifact = artifact.setVersion(managedArtifact.getVersion()); AntClient.getInstance().log("Managed version set on " + artifact); break; } } return artifact; }
From source file:org.springframework.ide.vscode.commons.maven.MavenCore.java
License:Open Source License
/** * Taken from M2E same named method from MavenModelManager * * @param repositorySystem//from w ww. j a va 2 s . c o m * @param repositorySession * @param mavenProject * @param scope * @return */ private DependencyNode readDependencyTree(org.eclipse.aether.RepositorySystem repositorySystem, RepositorySystemSession repositorySession, MavenProject mavenProject, String scope) { DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(repositorySession); ConflictResolver transformer = new ConflictResolver(new NearestVersionSelector(), new JavaScopeSelector(), new SimpleOptionalitySelector(), new JavaScopeDeriver()); session.setDependencyGraphTransformer(transformer); session.setConfigProperty(ConflictResolver.CONFIG_PROP_VERBOSE, Boolean.toString(true)); session.setConfigProperty(DependencyManagerUtils.CONFIG_PROP_VERBOSE, true); ArtifactTypeRegistry stereotypes = session.getArtifactTypeRegistry(); CollectRequest request = new CollectRequest(); request.setRequestContext("project"); //$NON-NLS-1$ request.setRepositories(mavenProject.getRemoteProjectRepositories()); for (org.apache.maven.model.Dependency dependency : mavenProject.getDependencies()) { request.addDependency(RepositoryUtils.toDependency(dependency, stereotypes)); } DependencyManagement depMngt = mavenProject.getDependencyManagement(); if (depMngt != null) { for (org.apache.maven.model.Dependency dependency : depMngt.getDependencies()) { request.addManagedDependency(RepositoryUtils.toDependency(dependency, stereotypes)); } } DependencyNode node; try { node = repositorySystem.collectDependencies(session, request).getRoot(); } catch (DependencyCollectionException ex) { node = ex.getResult().getRoot(); } Collection<String> scopes = new HashSet<String>(); Collections.addAll(scopes, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_COMPILE, Artifact.SCOPE_PROVIDED, Artifact.SCOPE_RUNTIME, Artifact.SCOPE_TEST); if (Artifact.SCOPE_COMPILE.equals(scope)) { scopes.remove(Artifact.SCOPE_COMPILE); scopes.remove(Artifact.SCOPE_SYSTEM); scopes.remove(Artifact.SCOPE_PROVIDED); } else if (Artifact.SCOPE_RUNTIME.equals(scope)) { scopes.remove(Artifact.SCOPE_COMPILE); scopes.remove(Artifact.SCOPE_RUNTIME); } else if (Artifact.SCOPE_COMPILE_PLUS_RUNTIME.equals(scope)) { scopes.remove(Artifact.SCOPE_COMPILE); scopes.remove(Artifact.SCOPE_SYSTEM); scopes.remove(Artifact.SCOPE_PROVIDED); scopes.remove(Artifact.SCOPE_RUNTIME); } else { scopes.clear(); } CloningDependencyVisitor cloner = new CloningDependencyVisitor(); node.accept(new FilteringDependencyVisitor(cloner, new ScopeDependencyFilter(null, scopes))); node = cloner.getRootNode(); return node; }