List of usage examples for org.apache.maven.project MavenProject getDependencies
public List<Dependency> getDependencies()
From source file:org.deegree.maven.utils.ClasspathHelper.java
License:Open Source License
private static Set<?> resolveDeps(MavenProject project, ArtifactResolver artifactResolver, ArtifactFactory artifactFactory, ArtifactMetadataSource metadataSource, ArtifactRepository localRepository) throws InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException { List<?> dependencies = project.getDependencies(); Set<Artifact> dependencyArtifacts = createArtifacts(artifactFactory, dependencies, null, null, null); dependencyArtifacts.add(project.getArtifact()); ArtifactResolutionResult result = artifactResolver.resolveTransitively(dependencyArtifacts, project.getArtifact(), EMPTY_MAP, localRepository, project.getRemoteArtifactRepositories(), metadataSource, null, EMPTY_LIST); return result.getArtifacts(); }
From source file:org.ebayopensource.turmeric.eclipse.mavenapi.impl.AbstractMavenApi.java
License:Open Source License
private void resolveArtifactDependencies(MavenImpl embedder, RepositorySystem repoSystem, Artifact artifact, Set<Artifact> result) throws MavenEclipseApiException { try {/*from w w w . ja v a 2 s . c o m*/ MavenProject mProject = resolveArtifactAsProject(artifact); for (Dependency dep : mProject.getDependencies()) { ArtifactScopeEnum scope = ArtifactScopeEnum.valueOf(dep.getScope()); if (ArtifactScopeEnum.test.equals(scope) == false) { Artifact art = resolveArtifact(embedder, repoSystem, new EclipseArtifactMetadata(dep.getGroupId(), dep.getArtifactId(), dep.getVersion(), dep.getType(), scope, dep.getClassifier())); if (result.contains(art) == false) { result.add(art); resolveArtifactDependencies(embedder, repoSystem, art, result); } } } } catch (Exception e) { //ignore this one } }
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 {//w w w. j av a2 s.co 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.eclipse.m2e.core.internal.markers.SourceLocationHelper.java
License:Open Source License
private static org.apache.maven.model.Dependency getMavenDependency(MavenProject mavenProject, Dependency dependency) {//from w w w . ja va 2 s. c o m for (org.apache.maven.model.Dependency mavenDependency : mavenProject.getDependencies()) { if (mavenDependency.getArtifactId().equals(dependency.getArtifact().getArtifactId()) && mavenDependency.getGroupId().equals(dependency.getArtifact().getGroupId()) && mavenDependency.getVersion().equals(dependency.getArtifact().getVersion()) && eq(mavenDependency.getClassifier(), dependency.getArtifact().getClassifier())) { return mavenDependency; } } return null; }
From source file:org.eclipse.m2e.editor.composites.DependenciesComposite.java
License:Open Source License
protected void setDependenciesInput() { resetDependencies();/*from ww w . j a v a 2s . co m*/ List<Object> deps = new ArrayList<Object>(); deps.addAll(getDependencies()); if (showInheritedDependencies) { /* * Add the inherited dependencies into the bunch. But don't we need to * filter out the dependencies that are duplicated in the M2E model, so * we need to run through each list and only add ones that aren't in both. */ List<org.apache.maven.model.Dependency> allDeps = new LinkedList<org.apache.maven.model.Dependency>(); MavenProject mp = pomEditor.getMavenProject(); if (mp != null) { allDeps.addAll(mp.getDependencies()); } for (org.apache.maven.model.Dependency mavenDep : allDeps) { boolean found = false; Iterator<Dependency> iter = getDependencies().iterator(); while (!found && iter.hasNext()) { Dependency m2eDep = iter.next(); if (mavenDep.getGroupId().equals(m2eDep.groupId) && mavenDep.getArtifactId().equals(m2eDep.artifactId)) { found = true; } } if (!found) { //now check the temporary keys if (!temporaryRemovedDependencies .contains(mavenDep.getGroupId() + ":" + mavenDep.getArtifactId())) { deps.add(mavenDep); } } } } dependenciesEditor.setInput(deps); }
From source file:org.eclipse.tycho.core.osgitools.targetplatform.LocalDependencyResolver.java
License:Open Source License
private void addDependencies(MavenSession session, MavenProject project, DefaultDependencyArtifacts platform) { TargetPlatformConfiguration configuration = (TargetPlatformConfiguration) project .getContextValue(TychoConstants.CTX_TARGET_PLATFORM_CONFIGURATION); if (configuration != null && TargetPlatformConfiguration.POM_DEPENDENCIES_CONSIDER .equals(configuration.getPomDependencies())) { Map<String, MavenProject> projectIds = new HashMap<String, MavenProject>( session.getProjects().size() * 2); // make a list of reactor projects for (MavenProject p : session.getProjects()) { String key = ArtifactUtils.key(p.getGroupId(), p.getArtifactId(), p.getVersion()); projectIds.put(key, p);/*w ww.j ava2s .c om*/ } // handle dependencies that are in reactor for (Dependency dependency : project.getDependencies()) { if (Artifact.SCOPE_COMPILE.equals(dependency.getScope())) { String key = ArtifactUtils.key(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); if (projectIds.containsKey(key)) { MavenProject dependent = projectIds.get(key); ArtifactKey artifactKey = getArtifactKey(session, dependent); if (artifactKey != null) { platform.removeAll(artifactKey.getType(), artifactKey.getId()); ReactorProject projectProxy = DefaultReactorProject.adapt(dependent); platform.addReactorArtifact(artifactKey, projectProxy, null, null); if (getLogger().isDebugEnabled()) { getLogger().debug("Add Maven project " + artifactKey); } } } } } // handle rest of dependencies ArrayList<String> scopes = new ArrayList<String>(); scopes.add(Artifact.SCOPE_COMPILE); Collection<Artifact> artifacts; try { artifacts = projectDependenciesResolver.resolve(project, scopes, session); } catch (MultipleArtifactsNotFoundException e) { Collection<Artifact> missing = new HashSet<Artifact>(e.getMissingArtifacts()); for (Iterator<Artifact> it = missing.iterator(); it.hasNext();) { Artifact a = it.next(); String key = ArtifactUtils.key(a.getGroupId(), a.getArtifactId(), a.getBaseVersion()); if (projectIds.containsKey(key)) { it.remove(); } } if (!missing.isEmpty()) { throw new RuntimeException("Could not resolve project dependencies", e); } artifacts = e.getResolvedArtifacts(); artifacts.removeAll(e.getMissingArtifacts()); } catch (AbstractArtifactResolutionException e) { throw new RuntimeException("Could not resolve project dependencies", e); } for (Artifact artifact : artifacts) { String key = ArtifactUtils.key(artifact.getGroupId(), artifact.getArtifactId(), artifact.getBaseVersion()); if (!projectIds.containsKey(key)) { File plugin = artifact.getFile(); ArtifactKey artifactKey = getArtifactKey(session, plugin); if (artifactKey != null) { platform.addArtifactFile(artifactKey, plugin, null); if (getLogger().isDebugEnabled()) { getLogger().debug("Add Maven artifact " + artifactKey); } } } } } }
From source file:org.eclipse.tycho.core.osgitools.targetplatform.LocalTargetPlatformResolver.java
License:Open Source License
private void addDependencies(MavenSession session, MavenProject project, DefaultTargetPlatform platform) { TargetPlatformConfiguration configuration = (TargetPlatformConfiguration) project .getContextValue(TychoConstants.CTX_TARGET_PLATFORM_CONFIGURATION); if (configuration != null && TargetPlatformConfiguration.POM_DEPENDENCIES_CONSIDER .equals(configuration.getPomDependencies())) { Map<String, MavenProject> projectIds = new HashMap<String, MavenProject>( session.getProjects().size() * 2); // make a list of reactor projects for (MavenProject p : session.getProjects()) { String key = ArtifactUtils.key(p.getGroupId(), p.getArtifactId(), p.getVersion()); projectIds.put(key, p);/*from w ww.j ava 2 s.c o m*/ } // handle dependencies that are in reactor for (Dependency dependency : project.getDependencies()) { if (Artifact.SCOPE_COMPILE.equals(dependency.getScope())) { String key = ArtifactUtils.key(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); if (projectIds.containsKey(key)) { MavenProject dependent = projectIds.get(key); ArtifactKey artifactKey = getArtifactKey(session, dependent); if (artifactKey != null) { platform.removeAll(artifactKey.getType(), artifactKey.getId()); ReactorProject projectProxy = DefaultReactorProject.adapt(dependent); platform.addReactorArtifact(artifactKey, projectProxy, null, null); if (getLogger().isDebugEnabled()) { getLogger().debug("Add Maven project " + artifactKey); } } } } } // handle rest of dependencies ArrayList<String> scopes = new ArrayList<String>(); scopes.add(Artifact.SCOPE_COMPILE); Collection<Artifact> artifacts; try { artifacts = projectDependenciesResolver.resolve(project, scopes, session); } catch (MultipleArtifactsNotFoundException e) { Collection<Artifact> missing = new HashSet<Artifact>(e.getMissingArtifacts()); for (Iterator<Artifact> it = missing.iterator(); it.hasNext();) { Artifact a = it.next(); String key = ArtifactUtils.key(a.getGroupId(), a.getArtifactId(), a.getBaseVersion()); if (projectIds.containsKey(key)) { it.remove(); } } if (!missing.isEmpty()) { throw new RuntimeException("Could not resolve project dependencies", e); } artifacts = e.getResolvedArtifacts(); artifacts.removeAll(e.getMissingArtifacts()); } catch (AbstractArtifactResolutionException e) { throw new RuntimeException("Could not resolve project dependencies", e); } for (Artifact artifact : artifacts) { String key = ArtifactUtils.key(artifact.getGroupId(), artifact.getArtifactId(), artifact.getBaseVersion()); if (!projectIds.containsKey(key)) { File plugin = artifact.getFile(); ArtifactKey artifactKey = getArtifactKey(session, plugin); if (artifactKey != null) { platform.addArtifactFile(artifactKey, plugin, null); if (getLogger().isDebugEnabled()) { getLogger().debug("Add Maven artifact " + artifactKey); } } } } } }
From source file:org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.java
License:Open Source License
public void resolveProject(MavenSession session, MavenProject project, List<ReactorProject> reactorProjects) { AbstractTychoProject dr = (AbstractTychoProject) projectTypes.get(project.getPackaging()); if (dr == null) { return;//w w w .java 2 s . c om } TargetPlatformResolver resolver = targetPlatformResolverLocator.lookupPlatformResolver(project); // TODO 364134 cache target platform (e.g. by checking if there is already an attached target platform) logger.info("Computing target platform for " + project); TargetPlatform targetPlatform = resolver.computeTargetPlatform(session, project, reactorProjects); dr.setTargetPlatform(project, targetPlatform); TargetPlatformConfiguration configuration = TychoProjectUtils.getTargetPlatformConfiguration(project); DependencyResolverConfiguration resolverConfiguration = configuration.getDependencyResolverConfiguration(); logger.info("Resolving dependencies of " + project); DependencyArtifacts dependencyArtifacts = resolver.resolveDependencies(session, project, targetPlatform, reactorProjects, resolverConfiguration); if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) { StringBuilder sb = new StringBuilder(); sb.append("Resolved target platform for ").append(project).append("\n"); dependencyArtifacts.toDebugString(sb, " "); logger.debug(sb.toString()); } dr.setDependencyArtifacts(session, project, dependencyArtifacts); logger.info("Resolving class path of " + project); dr.resolveClassPath(session, project); resolver.injectDependenciesIntoMavenModel(project, dr, dependencyArtifacts, logger); if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) { StringBuilder sb = new StringBuilder(); sb.append("Injected dependencies for ").append(project.toString()).append("\n"); for (Dependency dependency : project.getDependencies()) { sb.append(" ").append(dependency.toString()); } logger.debug(sb.toString()); } }
From source file:org.eclipse.tycho.core.resolver.DefaultTychoResolver.java
License:Open Source License
@Override public void resolveProject(MavenSession session, MavenProject project, List<ReactorProject> reactorProjects) { AbstractTychoProject dr = (AbstractTychoProject) projectTypes.get(project.getPackaging()); if (dr == null) { return;/* w w w .java2 s.c om*/ } DependencyResolver resolver = dependencyResolverLocator.lookupDependencyResolver(project); logger.info("Computing target platform for " + project); TargetPlatform preliminaryTargetPlatform = resolver.computePreliminaryTargetPlatform(session, project, reactorProjects); TargetPlatformConfiguration configuration = TychoProjectUtils.getTargetPlatformConfiguration(project); DependencyResolverConfiguration resolverConfiguration = configuration.getDependencyResolverConfiguration(); logger.info("Resolving dependencies of " + project); DependencyArtifacts dependencyArtifacts = resolver.resolveDependencies(session, project, preliminaryTargetPlatform, reactorProjects, resolverConfiguration); if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) { StringBuilder sb = new StringBuilder(); sb.append("Resolved target platform for ").append(project).append("\n"); dependencyArtifacts.toDebugString(sb, " "); logger.debug(sb.toString()); } dr.setDependencyArtifacts(session, project, dependencyArtifacts); logger.info("Resolving class path of " + project); dr.resolveClassPath(session, project); resolver.injectDependenciesIntoMavenModel(project, dr, dependencyArtifacts, logger); if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) { StringBuilder sb = new StringBuilder(); sb.append("Injected dependencies for ").append(project.toString()).append("\n"); for (Dependency dependency : project.getDependencies()) { sb.append(" ").append(dependency.toString()); } logger.debug(sb.toString()); } }
From source file:org.eclipse.tycho.extras.docbundle.JavadocMojo.java
License:Open Source License
private void visitDeps(final Dependency dep, final ProjectVisitor visitor, final Set<String> scopes) throws MojoExecutionException { final MavenProject project = findProject(dep.getGroupId(), dep.getArtifactId()); if (project == null) { getLog().info(String.format("Did not find project %s in reactor", dep)); return;//from w w w . j ava 2s. c o m } getLog().debug("Adding sources from: " + project); visitor.visit(project); getLog().debug("Scanning dependencies: " + project.getDependencies().size()); visitProjects(project.getDependencies(), scopes, visitor); getLog().debug("Done processing: " + project); }