List of usage examples for org.apache.maven.project MavenProject getRemoteProjectRepositories
public List<RemoteRepository> getRemoteProjectRepositories()
From source file:org.guvnor.common.services.project.backend.server.ModuleRepositoryResolverImpl.java
License:Apache License
private Map<MavenRepositorySource, Collection<RemoteRepository>> getRemoteRepositories( final MavenProject mavenProject) { //Get Local and Settings.xml Repositories final Map<MavenRepositorySource, Collection<RemoteRepository>> repositories = new HashMap<MavenRepositorySource, Collection<RemoteRepository>>(); repositories.putAll(getRemoteRepositories()); //Project's Repositories, includes those in setting.xml final Collection<RemoteRepository> projectRepositories = new HashSet<RemoteRepository>( mavenProject.getRemoteProjectRepositories()); if (projectRepositories != null) { //Remove Project Repositories that are in settings.xml final Collection<RemoteRepository> settingsRepositories = repositories .get(MavenRepositorySource.SETTINGS); removeProjectRepositoriesThatAreInSettings(projectRepositories, settingsRepositories); repositories.put(MavenRepositorySource.PROJECT, projectRepositories); }//from www.j av a2s . co m //Project's <distributionManagement> Repositories final org.apache.maven.artifact.repository.ArtifactRepository distributionManagementRepository = mavenProject .getDistributionManagementArtifactRepository(); if (distributionManagementRepository != null) { repositories.put(MavenRepositorySource.DISTRIBUTION_MANAGEMENT, new HashSet<RemoteRepository>() { { add(convertToArtifactRepository(distributionManagementRepository)); } }); } return repositories; }
From source file:org.guvnor.common.services.project.backend.server.ProjectRepositoryResolverImpl.java
License:Apache License
private Map<MavenRepositorySource, Collection<ArtifactRepository>> getRemoteRepositories( final LocalRepository localRepository, final MavenProject mavenProject) { //Get Local and Settings.xml Repositories final Map<MavenRepositorySource, Collection<ArtifactRepository>> repositories = new HashMap<MavenRepositorySource, Collection<ArtifactRepository>>(); repositories.putAll(getRemoteRepositories(localRepository)); //Project's Repositories, includes those in setting.xml final Collection<ArtifactRepository> projectRepositories = new HashSet<ArtifactRepository>( mavenProject.getRemoteProjectRepositories()); if (projectRepositories != null) { //Remove Project Repositories that are in settings.xml final Collection<ArtifactRepository> settingsRepositories = repositories .get(MavenRepositorySource.SETTINGS); removeProjectRepositoriesThatAreInSettings(projectRepositories, settingsRepositories); repositories.put(MavenRepositorySource.PROJECT, projectRepositories); }//from w w w . j ava2 s . c o m //Project's <distributionManagement> Repositories final org.apache.maven.artifact.repository.ArtifactRepository distributionManagementRepository = mavenProject .getDistributionManagementArtifactRepository(); if (distributionManagementRepository != null) { repositories.put(MavenRepositorySource.DISTRIBUTION_MANAGEMENT, new HashSet<ArtifactRepository>() { { add(convertToArtifactRepository(distributionManagementRepository)); } }); } return repositories; }
From source file:org.jahia.utils.maven.plugin.support.AetherHelperFactory.java
License:Open Source License
/** * Obtains an instance of the proper artifact and dependency resolver, depending on the Maven execution environment * /*from w w w . j a v a 2 s .co m*/ * @param container * @param project * @param session * @param log * @return an instance of the proper artifact and dependency resolver * @throws MojoExecutionException */ @SuppressWarnings("unchecked") public static AetherHelper create(PlexusContainer container, MavenProject project, MavenSession session, Log log) throws MojoExecutionException { try { if (container.hasComponent("org.sonatype.aether.RepositorySystem")) { log.info("Using Aether helper for Maven 3.0.x"); warnMavenVersion(log); return new Maven30AetherHelper(container.lookup(RepositorySystem.class), session.getRepositorySession(), project.getRemoteProjectRepositories(), log); } else if (container.hasComponent(org.eclipse.aether.RepositorySystem.class)) { Object repoSession; try { repoSession = MavenSession.class.getMethod("getRepositorySession").invoke(session); } catch (Exception e) { throw new MojoExecutionException(e.getMessage(), e); } List<?> remoteRepos = project.getRemoteProjectRepositories(); log.info("Using Aether helper for Maven 3.1+"); return new Maven31AetherHelper(container.lookup(org.eclipse.aether.RepositorySystem.class), (RepositorySystemSession) repoSession, (List<org.eclipse.aether.repository.RemoteRepository>) remoteRepos, log); } } catch (ComponentLookupException e) { throw new MojoExecutionException(e.getMessage(), e); } throw new MojoExecutionException( "Unable to find either Sonatype's Aether nor Eclipse's Aether implementations"); }
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 ww.ja va 2s . c o m*/ * 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.sourcepit.b2.internal.generator.P2RepositoryDependencyConverter.java
License:Apache License
private Artifact resolveArtifact(final MavenProject wrapperProject, String groupId, String artifactId, String extension, String version, String classifier) { final org.eclipse.aether.artifact.Artifact siteArtifact = new DefaultArtifact(groupId, artifactId, classifier, extension, version); ArtifactRequest request = new ArtifactRequest(); request.setArtifact(siteArtifact);/*from www .j av a2s . co m*/ request.setRepositories(wrapperProject.getRemoteProjectRepositories()); try { final ArtifactResult result = repositorySystem.resolveArtifact(legacySupport.getRepositorySession(), request); return RepositoryUtils.toArtifact(result.getArtifact()); } catch (ArtifactResolutionException e) { throw new IllegalStateException(e); } }
From source file:org.sourcepit.m2p2.osgi.embedder.maven.ArtifactResolver.java
License:Apache License
private List<RemoteRepository> getRemoteRepositories(MavenSession session) { final Set<RemoteRepository> repositories = new HashSet<RemoteRepository>(); for (MavenProject project : session.getProjects()) { repositories.addAll(project.getRemoteProjectRepositories()); }//w w w. ja v a2 s.c o m return new ArrayList<RemoteRepository>(repositories); }
From source file:org.sourcepit.maven.dependency.model.aether.AetherDependencyModelResolver.java
License:Apache License
private RepositorySystemSession newRepositorySystemSession(MavenProject project, boolean resolveRoot, final DependencyModelBuilder modelBuilder) { final List<DependencyGraphTransformer> transformers = new ArrayList<DependencyGraphTransformer>(3); if (resolveRoot) { org.eclipse.aether.graph.Dependency dependency = new org.eclipse.aether.graph.Dependency( RepositoryUtils.toArtifact(project.getArtifact()), "compile"); DefaultDependencyNode rootNode = new DefaultDependencyNode(dependency); rootNode.setRepositories(project.getRemoteProjectRepositories()); rootNode.setRequestContext("project"); transformers.add(new ReplaceRootNode(rootNode)); }//from w w w . j a v a 2s . c o m transformers.add(new LatestAndReleseVersionResolverTransformer(versionResolver)); transformers.add(new DependencyModelBuildingGraphTransformer(artifactFactory, modelBuilder, false, false)); final DependencyGraphTransformer transformer = new ChainedDependencyGraphTransformer( transformers.toArray(new DependencyGraphTransformer[transformers.size()])); final RepositorySystemSession repositorySession = new AbstractForwardingRepositorySystemSession() { @Override public DependencySelector getDependencySelector() { return new ScopeChildDependenciesErasure(Collections.singleton("test")); } @Override public DependencyGraphTransformer getDependencyGraphTransformer() { return transformer; } @Override protected RepositorySystemSession getSession() { return buildContext.getRepositorySession(); } }; return repositorySession; }
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// w w w .j a v a2 s .c om * @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; }
From source file:org.tawja.maven.discovery.internal.MavenManager.java
License:Apache License
public static List<Dependency> getArtifactsDependencies(MavenProject project, String dependencyType, String scope) throws Exception { DefaultArtifact pomArtifact = new DefaultArtifact(project.getId()); RepositorySystemSession repoSession = null; // TODO RepositorySystem repoSystem = null; // TODO List<RemoteRepository> remoteRepos = project.getRemoteProjectRepositories(); List<Dependency> ret = new ArrayList<>(); Dependency dependency = new Dependency(pomArtifact, scope); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(dependency);/*from w w w . j a v a 2s . com*/ collectRequest.setRepositories(remoteRepos); DependencyNode node = repoSystem.collectDependencies(repoSession, collectRequest).getRoot(); DependencyRequest projectDependencyRequest = new DependencyRequest(node, null); repoSystem.resolveDependencies(repoSession, projectDependencyRequest); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); node.accept(nlg); ret.addAll(nlg.getDependencies(true)); return ret; }
From source file:org.wildfly.plugin.server.EclipseAetherArtifactResolver.java
License:Open Source License
@Override public File resolve(final MavenProject project, final String artifact) { final ArtifactResult result; try {// w ww . ja va 2 s. c o m final ProjectBuildingRequest projectBuildingRequest = project.getProjectBuildingRequest(); final ArtifactRequest request = new ArtifactRequest(); final ArtifactNameSplitter splitter = ArtifactNameSplitter.of(artifact).split(); final Artifact defaultArtifact = new DefaultArtifact(splitter.getGroupId(), splitter.getArtifactId(), splitter.getClassifier(), splitter.getPackaging(), splitter.getVersion()); request.setArtifact(defaultArtifact); final List<RemoteRepository> repos = project.getRemoteProjectRepositories(); request.setRepositories(repos); result = repoSystem.resolveArtifact(projectBuildingRequest.getRepositorySession(), request); } catch (ArtifactResolutionException e) { throw new RuntimeException(e.getMessage(), e); } return result.getArtifact().getFile(); }