Example usage for org.apache.maven.execution MavenExecutionRequest getRemoteRepositories

List of usage examples for org.apache.maven.execution MavenExecutionRequest getRemoteRepositories

Introduction

In this page you can find the example usage for org.apache.maven.execution MavenExecutionRequest getRemoteRepositories.

Prototype

List<ArtifactRepository> getRemoteRepositories();

Source Link

Usage

From source file:org.eclipse.che.maven.server.MavenServerImpl.java

License:Open Source License

@Override
public MavenArtifact resolveArtifact(MavenArtifactKey artifactKey, List<MavenRemoteRepository> repositories)
        throws RemoteException {
    Artifact artifact = getMavenComponent(ArtifactFactory.class).createArtifactWithClassifier(
            artifactKey.getGroupId(), artifactKey.getArtifactId(), artifactKey.getVersion(),
            artifactKey.getPackaging(), artifactKey.getClassifier());

    List<ArtifactRepository> repos = new ArrayList<>();
    ArtifactRepositoryFactory factory = getMavenComponent(ArtifactRepositoryFactory.class);
    for (MavenRemoteRepository repository : repositories) {
        try {//w  w w  .  jav a  2  s . c o m
            ArtifactRepository artifactRepository = ProjectUtils.buildArtifactRepository(
                    MavenModelUtil.convertToMavenRepository(repository), factory, container);
            repos.add(artifactRepository);
        } catch (InvalidRepositoryException e) {
            MavenServerContext.getLogger().error(e);
        }

    }

    MavenExecutionRequest request = newMavenRequest(null, Collections.emptyList(), Collections.emptyList(),
            Collections.emptyList());
    repos.forEach(request::addRemoteRepository);

    DefaultMaven maven = (DefaultMaven) getMavenComponent(Maven.class);
    RepositorySystemSession repositorySystemSession = maven.newRepositorySession(request);

    org.eclipse.aether.impl.ArtifactResolver artifactResolver = getMavenComponent(
            org.eclipse.aether.impl.ArtifactResolver.class);
    InternalLoggerFactory loggerFactory = new InternalLoggerFactory();
    if (artifactResolver instanceof DefaultArtifactResolver) {
        ((DefaultArtifactResolver) artifactResolver).setLoggerFactory(loggerFactory);
    }

    org.eclipse.aether.RepositorySystem repositorySystem = getMavenComponent(
            org.eclipse.aether.RepositorySystem.class);
    if (repositorySystem instanceof DefaultRepositorySystem) {
        ((DefaultRepositorySystem) repositorySystem).setLoggerFactory(loggerFactory);
    }

    List<RemoteRepository> remoteRepositories = RepositoryUtils.toRepos(request.getRemoteRepositories());
    remoteRepositories = repositorySystem.newResolutionRepositories(repositorySystemSession,
            remoteRepositories);

    try {
        ArtifactResult artifactResult = repositorySystem.resolveArtifact(repositorySystemSession,
                new ArtifactRequest(RepositoryUtils.toArtifact(artifact), remoteRepositories, null));
        return MavenModelUtil.convertArtifact(RepositoryUtils.toArtifact(artifactResult.getArtifact()),
                localRepository);
    } catch (ArtifactResolutionException e) {
        MavenServerContext.getLogger().info(e);
    }
    return MavenModelUtil.convertArtifact(artifact, localRepository);
}

From source file:org.jetbrains.idea.maven.server.Maven30ServerEmbedderImpl.java

License:Apache License

private Artifact resolve(@Nonnull final Artifact artifact, @Nonnull final List<ArtifactRepository> repos)
        throws ArtifactResolutionException, ArtifactNotFoundException {

    MavenExecutionRequest request = new DefaultMavenExecutionRequest();
    request.setRemoteRepositories(repos);
    try {//from  ww w. j  a va 2 s .c  o m
        getComponent(MavenExecutionRequestPopulator.class).populateFromSettings(request, myMavenSettings);
        getComponent(MavenExecutionRequestPopulator.class).populateDefaults(request);
    } catch (MavenExecutionRequestPopulationException e) {
        throw new RuntimeException(e);
    }

    getComponent(ArtifactResolver.class).resolve(artifact, request.getRemoteRepositories(), myLocalRepository);
    return artifact;
}

From source file:org.jetbrains.idea.maven.server.Maven32ServerEmbedderImpl.java

License:Apache License

private Artifact resolve(@Nonnull final Artifact artifact, @Nonnull final List<ArtifactRepository> repos)
        throws ArtifactResolutionException, ArtifactNotFoundException, RemoteException,
        org.eclipse.aether.resolution.ArtifactResolutionException {

    final String mavenVersion = getMavenVersion();
    // org.eclipse.aether.RepositorySystem.newResolutionRepositories() method doesn't exist in aether-api-0.9.0.M2.jar used before maven 3.2.5
    // see https://youtrack.jetbrains.com/issue/IDEA-140208 for details
    if (USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING
            || MavenStringUtil.compareVersionNumbers(mavenVersion, "3.2.5") < 0) {
        MavenExecutionRequest request = new DefaultMavenExecutionRequest();
        request.setRemoteRepositories(repos);
        try {//from  ww  w .jav  a  2 s.  co  m
            getComponent(MavenExecutionRequestPopulator.class).populateFromSettings(request, myMavenSettings);
            getComponent(MavenExecutionRequestPopulator.class).populateDefaults(request);
        } catch (MavenExecutionRequestPopulationException e) {
            throw new RuntimeException(e);
        }

        getComponent(ArtifactResolver.class).resolve(artifact, request.getRemoteRepositories(),
                myLocalRepository);
        return artifact;
    } else {
        final MavenExecutionRequest request = createRequest(null, Collections.<String>emptyList(),
                Collections.<String>emptyList(), Collections.<String>emptyList());
        for (ArtifactRepository artifactRepository : repos) {
            request.addRemoteRepository(artifactRepository);
        }

        DefaultMaven maven = (DefaultMaven) getComponent(Maven.class);
        RepositorySystemSession repositorySystemSession = maven.newRepositorySession(request);

        final org.eclipse.aether.impl.ArtifactResolver artifactResolver = getComponent(
                org.eclipse.aether.impl.ArtifactResolver.class);
        final MyLoggerFactory loggerFactory = new MyLoggerFactory();
        if (artifactResolver instanceof DefaultArtifactResolver) {
            ((DefaultArtifactResolver) artifactResolver).setLoggerFactory(loggerFactory);
        }

        final org.eclipse.aether.RepositorySystem repositorySystem = getComponent(
                org.eclipse.aether.RepositorySystem.class);
        if (repositorySystem instanceof DefaultRepositorySystem) {
            ((DefaultRepositorySystem) repositorySystem).setLoggerFactory(loggerFactory);
        }

        List<RemoteRepository> repositories = RepositoryUtils.toRepos(request.getRemoteRepositories());
        repositories = repositorySystem.newResolutionRepositories(repositorySystemSession, repositories);

        final ArtifactResult artifactResult = repositorySystem.resolveArtifact(repositorySystemSession,
                new ArtifactRequest(RepositoryUtils.toArtifact(artifact), repositories, null));

        return RepositoryUtils.toArtifact(artifactResult.getArtifact());
    }
}

From source file:org.phpmaven.test.AbstractTestCase.java

License:Apache License

protected MavenData createProjectBuildingRequest() throws Exception {
    final File localReposFile = this.getLocalReposDir();

    final SimpleLocalRepositoryManager localRepositoryManager = new SimpleLocalRepositoryManager(
            localReposFile);//  w  w  w  .  j  a va2  s .  c  o  m

    final DefaultRepositorySystemSession repositorySession = new DefaultRepositorySystemSession();
    for (final Map.Entry<Object, Object> entry : System.getProperties().entrySet()) {
        repositorySession.getSystemProperties().put(entry.getKey().toString(), entry.getValue().toString());
    }
    repositorySession.getSystemProperties().put("java.version", System.getProperty("java.version"));
    repositorySession.setDependencyGraphTransformer(
            new ChainedDependencyGraphTransformer(new ConflictMarker(), new JavaEffectiveScopeCalculator(),
                    new NearestVersionConflictResolver(), new JavaDependencyContextRefiner()));
    final MavenExecutionRequest request = new DefaultMavenExecutionRequest();
    final MavenExecutionRequestPopulator populator = lookup(MavenExecutionRequestPopulator.class);
    populator.populateDefaults(request);

    final SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();
    settingsRequest.setGlobalSettingsFile(MavenCli.DEFAULT_GLOBAL_SETTINGS_FILE);
    settingsRequest.setUserSettingsFile(MavenCli.DEFAULT_USER_SETTINGS_FILE);
    settingsRequest.setSystemProperties(request.getSystemProperties());
    settingsRequest.setUserProperties(request.getUserProperties());
    final SettingsBuilder settingsBuilder = lookup(SettingsBuilder.class);
    final SettingsBuildingResult settingsResult = settingsBuilder.build(settingsRequest);
    final MavenExecutionRequestPopulator executionRequestPopulator = lookup(
            MavenExecutionRequestPopulator.class);
    executionRequestPopulator.populateFromSettings(request, settingsResult.getEffectiveSettings());

    final ArtifactRepositoryLayout layout = lookup(ArtifactRepositoryLayout.class);
    final ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy();
    final MavenArtifactRepository repos = new MavenArtifactRepository("local",
            localReposFile.toURI().toURL().toString(), layout, policy, policy);

    request.setLocalRepository(repos);
    request.setSystemProperties(new Properties(System.getProperties()));
    request.getSystemProperties().put("java.version", System.getProperty("java.version"));
    repositorySession.setLocalRepositoryManager(localRepositoryManager);

    final ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
    buildingRequest.setLocalRepository(request.getLocalRepository());
    buildingRequest.setRepositorySession(repositorySession);
    buildingRequest.setSystemProperties(request.getSystemProperties());
    buildingRequest.getRemoteRepositories().addAll(request.getRemoteRepositories());
    buildingRequest.setProfiles(request.getProfiles());
    buildingRequest.setActiveProfileIds(request.getActiveProfiles());
    buildingRequest.setProcessPlugins(false);
    buildingRequest.setResolveDependencies(false);

    final MavenData data = new MavenData();
    data.executionRequest = request;
    data.projectBuildingRequest = buildingRequest;

    return data;
}

From source file:org.phpmaven.test.it.AbstractTestCase.java

License:Apache License

protected MavenData createProjectBuildingRequest() throws Exception {
    final File localReposFile = this.getLocalReposDir();

    final SimpleLocalRepositoryManager localRepositoryManager = new SimpleLocalRepositoryManager(
            localReposFile);/*from   w  ww. ja va 2 s  .c om*/

    final DefaultRepositorySystemSession repositorySession = new DefaultRepositorySystemSession();
    for (final Map.Entry<Object, Object> entry : System.getProperties().entrySet()) {
        repositorySession.getSystemProperties().put(entry.getKey().toString(), entry.getValue().toString());
    }
    repositorySession.getSystemProperties().put("java.version", System.getProperty("java.version"));
    final MavenExecutionRequest request = new DefaultMavenExecutionRequest();
    final MavenExecutionRequestPopulator populator = lookup(MavenExecutionRequestPopulator.class);
    populator.populateDefaults(request);

    final SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();
    settingsRequest.setGlobalSettingsFile(MavenCli.DEFAULT_GLOBAL_SETTINGS_FILE);
    settingsRequest.setUserSettingsFile(MavenCli.DEFAULT_USER_SETTINGS_FILE);
    settingsRequest.setSystemProperties(request.getSystemProperties());
    settingsRequest.setUserProperties(request.getUserProperties());
    final SettingsBuilder settingsBuilder = lookup(SettingsBuilder.class);
    final SettingsBuildingResult settingsResult = settingsBuilder.build(settingsRequest);
    final MavenExecutionRequestPopulator executionRequestPopulator = lookup(
            MavenExecutionRequestPopulator.class);
    executionRequestPopulator.populateFromSettings(request, settingsResult.getEffectiveSettings());

    final ArtifactRepositoryLayout layout = lookup(ArtifactRepositoryLayout.class);
    final ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy();
    final MavenArtifactRepository repos = new MavenArtifactRepository("local",
            localReposFile.toURI().toURL().toString(), layout, policy, policy);
    final MavenArtifactRepository userRepos = new MavenArtifactRepository("user",
            new File(MavenCli.userMavenConfigurationHome, "/repository").toURI().toURL().toString(), layout,
            policy, policy);

    request.setLocalRepository(repos);
    // skip wrapping local repository as a remote one for hudson
    if (!this.isHudsonBuild()) {
        request.getRemoteRepositories().add(userRepos);
    }
    request.setSystemProperties(new Properties(System.getProperties()));
    request.getSystemProperties().put("java.version", System.getProperty("java.version"));
    repositorySession.setLocalRepositoryManager(localRepositoryManager);

    final ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
    buildingRequest.setLocalRepository(request.getLocalRepository());
    buildingRequest.setRepositorySession(repositorySession);
    buildingRequest.setSystemProperties(request.getSystemProperties());
    // skip wrapping local repository as a remote one for hudson
    if (!this.isHudsonBuild()) {
        buildingRequest.getPluginArtifactRepositories().add(userRepos);
    }
    buildingRequest.getRemoteRepositories().addAll(request.getRemoteRepositories());
    buildingRequest.setProfiles(request.getProfiles());
    buildingRequest.setActiveProfileIds(request.getActiveProfiles());
    buildingRequest.setProcessPlugins(false);
    buildingRequest.setResolveDependencies(false);

    final MavenData data = new MavenData();
    data.executionRequest = request;
    data.projectBuildingRequest = buildingRequest;

    return data;
}

From source file:org.sourcepit.common.maven.testing.EmbeddedMaven.java

License:Apache License

public void populateDefaults(final MavenExecutionRequest request)
        throws Exception, MavenExecutionRequestPopulationException {
    request.setExecutionListener(eventSpyDispatcher.chainListener(new ExecutionEventLogger(logger)));
    request.setTransferListener(new BatchModeMavenTransferListener(System.out));

    final SettingsBuildingResult settingsResult = buildSettings(null, request.getUserSettingsFile(),
            request.getSystemProperties(), request.getUserProperties());
    executionRequestPopulator.populateFromSettings(request, settingsResult.getEffectiveSettings());

    if (localRepo != null) {
        request.setLocalRepositoryPath(localRepo);
    }/*from  w w  w.  j  a va  2s  .c  o  m*/

    if (remoteRepo != null) {
        request.getRemoteRepositories().add(getRemoteRepository());
    }

    executionRequestPopulator.populateDefaults(request);
}

From source file:org.sourcepit.maven.dependency.model.DependencyTreeBuilder.java

License:Apache License

private MavenProject buildProject(final Artifact artifact) throws ProjectBuildingException {
    ProjectBuildingRequest request = new DefaultProjectBuildingRequest();
    request.setResolveDependencies(false);
    request.setProcessPlugins(false);/* ww  w  .ja v a2s .  c o  m*/

    MavenSession session = buildContext.getSession();

    request.setRepositorySession(session.getRepositorySession());
    request.setLocalRepository(session.getLocalRepository());
    request.setSystemProperties(session.getSystemProperties());
    request.setUserProperties(request.getUserProperties());

    MavenExecutionRequest executionRequest = session.getRequest();
    request.setRemoteRepositories(executionRequest.getRemoteRepositories());
    request.setPluginArtifactRepositories(executionRequest.getPluginArtifactRepositories());

    ProjectBuildingResult build = projectBuilder.build(artifact, request);

    return build.getProject();
}