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

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

Introduction

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

Prototype

ArtifactRepository getLocalRepository();

Source Link

Usage

From source file:com.ruleoftech.markdown.page.generator.plugin.BetterAbstractMojoTestCase.java

protected MavenSession newMavenSession() {
    try {//w  w w .j  a  va  2s  .  c o  m
        MavenExecutionRequest request = new DefaultMavenExecutionRequest();
        MavenExecutionResult result = new DefaultMavenExecutionResult();

        // populate sensible defaults, including repository basedir and remote repos
        MavenExecutionRequestPopulator populator;
        populator = getContainer().lookup(MavenExecutionRequestPopulator.class);
        populator.populateDefaults(request);

        // this is needed to allow java profiles to get resolved; i.e. avoid during project builds:
        // [ERROR] Failed to determine Java version for profile java-1.5-detected @ org.apache.commons:commons-parent:22, /Users/alex/.m2/repository/org/apache/commons/commons-parent/22/commons-parent-22.pom, line 909, column 14
        request.setSystemProperties(System.getProperties());

        // and this is needed so that the repo session in the maven session 
        // has a repo manager, and it points at the local repo
        // (cf MavenRepositorySystemUtils.newSession() which is what is otherwise done)
        DefaultMaven maven = (DefaultMaven) getContainer().lookup(Maven.class);
        DefaultRepositorySystemSession repoSession = (DefaultRepositorySystemSession) maven
                .newRepositorySession(request);
        repoSession.setLocalRepositoryManager(new SimpleLocalRepositoryManagerFactory().newInstance(repoSession,
                new LocalRepository(request.getLocalRepository().getBasedir())));

        @SuppressWarnings("deprecation")
        MavenSession session = new MavenSession(getContainer(), repoSession, request, result);
        return session;
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:com.vladsch.flexmark.page.generator.plugin.BetterAbstractMojoTestCase.java

protected MavenSession newMavenSession() {
    try {/*  ww  w .j a va2s  .co  m*/
        MavenExecutionRequest request = new DefaultMavenExecutionRequest();
        MavenExecutionResult result = new DefaultMavenExecutionResult();

        // populate sensible defaults, including repository basedir and remote repos
        MavenExecutionRequestPopulator populator;
        populator = getContainer().lookup(MavenExecutionRequestPopulator.class);
        populator.populateDefaults(request);

        // this is needed to allow java profiles to get resolved; i.e. avoid during project builds:
        // [ERROR] Failed to determine Java version for profile java-1.5-detected @ org.apache.commons:commons-parent:22, /Users/alex/.m2/repository/org/apache/commons/commons-parent/22/commons-parent-22.pom, line 909, column 14
        request.setSystemProperties(System.getProperties());

        // and this is needed so that the repo session in the maven session
        // has a repo manager, and it points at the local repo
        // (cf MavenRepositorySystemUtils.newSession() which is what is otherwise done)
        DefaultMaven maven = (DefaultMaven) getContainer().lookup(Maven.class);
        DefaultRepositorySystemSession repoSession = (DefaultRepositorySystemSession) maven
                .newRepositorySession(request);
        repoSession.setLocalRepositoryManager(new SimpleLocalRepositoryManagerFactory().newInstance(repoSession,
                new LocalRepository(request.getLocalRepository().getBasedir())));

        @SuppressWarnings("deprecation")
        MavenSession session = new MavenSession(getContainer(), repoSession, request, result);
        return session;
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:info.debatty.sparkpackages.maven.plugin.MojoTestCase.java

License:Open Source License

/**
 * Create an instance of Mojo corresponding to the provided goal.
 * The Mojo will be configured according to values provided in the pom.
 * @param pom//from w ww.  j a  v a 2s . com
 * @param goal
 * @return
 * @throws Exception if something went wrong...
 */
public final Mojo lookupConfiguredMojo(final File pom, final String goal) throws Exception {

    MavenExecutionRequest request = new DefaultMavenExecutionRequest();
    MavenExecutionResult result = new DefaultMavenExecutionResult();

    // populate default values for (a.o.) repository basedir and
    // remote repos
    MavenExecutionRequestPopulator populator = getContainer().lookup(MavenExecutionRequestPopulator.class);
    populator.populateDefaults(request);

    // this is needed to allow java profiles to get resolved;
    // i.e. avoid during project builds:
    // [ERROR] Failed to determine Java version for profile
    // java-1.5-detected
    request.setSystemProperties(System.getProperties());

    // and this is needed so that the repo session in the maven session
    // has a repo manager, and it points at the local repo
    // (cf MavenRepositorySystemUtils.newSession() which is what is
    // otherwise done)
    DefaultMaven maven = (DefaultMaven) getContainer().lookup(Maven.class);
    DefaultRepositorySystemSession repo_session = (DefaultRepositorySystemSession) maven
            .newRepositorySession(request);
    repo_session.setLocalRepositoryManager(new SimpleLocalRepositoryManagerFactory().newInstance(repo_session,
            new LocalRepository(request.getLocalRepository().getBasedir())));

    @SuppressWarnings("deprecation")
    MavenSession session = new MavenSession(getContainer(), repo_session, request, result);

    ProjectBuildingRequest building_request = session.getProjectBuildingRequest();
    ProjectBuilder project_builder = lookup(ProjectBuilder.class);
    MavenProject project = project_builder.build(pom, building_request).getProject();

    return super.lookupConfiguredMojo(project, goal);

}

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);// www .  java2s .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);/*  www. j av a 2 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"));
    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.springframework.ide.vscode.commons.maven.MavenBridge.java

License:Open Source License

public Artifact resolve(final Artifact artifact, List<ArtifactRepository> remoteRepositories,
        MavenExecutionRequest executionRequest) throws MavenException {
    if (remoteRepositories == null) {
        try {//from   w  w  w.  jav a  2s  .  co  m
            remoteRepositories = getArtifactRepositories();
        } catch (MavenException e) {
            // we've tried
            remoteRepositories = Collections.emptyList();
        }
    }
    final List<ArtifactRepository> _remoteRepositories = remoteRepositories;

    org.eclipse.aether.RepositorySystem repoSystem = lookup(org.eclipse.aether.RepositorySystem.class);

    ArtifactRequest request = new ArtifactRequest();
    request.setArtifact(RepositoryUtils.toArtifact(artifact));
    request.setRepositories(RepositoryUtils.toRepos(_remoteRepositories));

    ArtifactResult result;
    try {
        result = repoSystem.resolveArtifact(createRepositorySession(executionRequest), request);
    } catch (ArtifactResolutionException ex) {
        result = ex.getResults().get(0);
    }

    setLastUpdated(executionRequest.getLocalRepository(), _remoteRepositories, artifact);

    if (result.isResolved()) {
        artifact.selectVersion(result.getArtifact().getVersion());
        artifact.setFile(result.getArtifact().getFile());
        artifact.setResolved(true);
    } else {
        throw new MavenException(result.getExceptions().toArray(new Exception[result.getExceptions().size()]));
    }

    return artifact;
}