Example usage for org.apache.maven DefaultMaven newRepositorySession

List of usage examples for org.apache.maven DefaultMaven newRepositorySession

Introduction

In this page you can find the example usage for org.apache.maven DefaultMaven newRepositorySession.

Prototype

public RepositorySystemSession newRepositorySession(MavenExecutionRequest request) 

Source Link

Usage

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

protected MavenSession newMavenSession() {
    try {//from  w ww  . j  a  v  a  2s .  com
        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 {//from   w w w  .j  a v  a2  s .  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:hudson.maven.MavenEmbedder.java

License:Apache License

private RepositorySystemSession buildRepositorySystemSession() throws ComponentLookupException {
    DefaultMaven defaultMaven = (DefaultMaven) plexusContainer.lookup(Maven.class);
    return defaultMaven.newRepositorySession(mavenExecutionRequest);
}

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/*  w w w.  j  a v a  2s  . c o  m*/
 * @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.appformer.maven.integration.embedder.PlexusComponentProvider.java

License:Apache License

@Override
public RepositorySystemSession getRepositorySystemSession(MavenExecutionRequest mavenExecutionRequest)
        throws ComponentLookupException {
    DefaultMaven defaultMaven = (DefaultMaven) lookup(Maven.class);
    return defaultMaven.newRepositorySession(mavenExecutionRequest);
}

From source file:org.appformer.maven.integration.embedder.WiredComponentProvider.java

License:Apache License

@Override
public RepositorySystemSession getRepositorySystemSession(MavenExecutionRequest mavenExecutionRequest)
        throws ComponentLookupException {
    DefaultMaven defaultMaven = (DefaultMaven) lookup(Maven.class);
    RepositorySystemSession session = defaultMaven.newRepositorySession(mavenExecutionRequest);
    inject(session.getArtifactTypeRegistry(), ArtifactHandlerManager.class, "handlerManager");
    return session;
}

From source file:org.echocat.jomon.maven.MavenEnvironmentFactory.java

License:Mozilla Public License

@Nonnull
protected RepositorySystemSession createRepositorySystemSession(@Nonnull DefaultMaven maven,
        @Nonnull MavenExecutionRequest resultRequest) {
    final RepositorySystemSession repositorySystemSession = maven.newRepositorySession(resultRequest);
    resultRequest.getProjectBuildingRequest().setRepositorySession(repositorySystemSession);
    return repositorySystemSession;
}

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 {//from   www . j av  a 2 s  . c om
            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.eclipse.che.maven.server.MavenServerImpl.java

License:Open Source License

public void runMavenRequest(MavenExecutionRequest request, Runnable runnable) {
    DefaultMaven maven = (DefaultMaven) getMavenComponent(Maven.class);
    RepositorySystemSession repositorySystemSession = maven.newRepositorySession(request);
    request.getProjectBuildingRequest().setRepositorySession(repositorySystemSession);
    MavenSession mavenSession = new MavenSession(container, repositorySystemSession, request,
            new DefaultMavenExecutionResult());
    LegacySupport legacySupport = getMavenComponent(LegacySupport.class);
    MavenSession previousSession = legacySupport.getSession();
    legacySupport.setSession(mavenSession);
    try {/*w  ww  .ja v a  2s  .c o  m*/
        for (AbstractMavenLifecycleParticipant participant : getLifecycleParticipants(
                Collections.emptyList())) {
            participant.afterSessionStart(mavenSession);
        }
        runnable.run();
    } catch (MavenExecutionException e) {
        throw new RuntimeException(e);
    } finally {
        legacySupport.setSession(previousSession);
    }
}

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

License:Apache License

public void executeWithMavenSession(MavenExecutionRequest request, Runnable runnable) {
    DefaultMaven maven = (DefaultMaven) getComponent(Maven.class);
    RepositorySystemSession repositorySession = maven.newRepositorySession(request);

    request.getProjectBuildingRequest().setRepositorySession(repositorySession);

    MavenSession mavenSession = new MavenSession(myContainer, repositorySession, request,
            new DefaultMavenExecutionResult());
    LegacySupport legacySupport = getComponent(LegacySupport.class);

    MavenSession oldSession = legacySupport.getSession();

    legacySupport.setSession(mavenSession);

    /** adapted from {@link DefaultMaven#doExecute(MavenExecutionRequest)} */
    try {//from  www  . ja v  a 2  s .  c  o m
        for (AbstractMavenLifecycleParticipant listener : getLifecycleParticipants(
                Collections.<MavenProject>emptyList())) {
            listener.afterSessionStart(mavenSession);
        }
    } catch (MavenExecutionException e) {
        throw new RuntimeException(e);
    }

    try {
        runnable.run();
    } finally {
        legacySupport.setSession(oldSession);
    }
}