Example usage for org.apache.maven.project MavenProject getRemoteProjectRepositories

List of usage examples for org.apache.maven.project MavenProject getRemoteProjectRepositories

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject getRemoteProjectRepositories.

Prototype

public List<RemoteRepository> getRemoteProjectRepositories() 

Source Link

Usage

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();
}