Example usage for org.apache.maven.plugin LegacySupport getSession

List of usage examples for org.apache.maven.plugin LegacySupport getSession

Introduction

In this page you can find the example usage for org.apache.maven.plugin LegacySupport getSession.

Prototype

MavenSession getSession();

Source Link

Document

Gets the currently active session.

Usage

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

License:Open Source License

private void loadExtensions(MavenProject project, List<Exception> exceptions) {
    ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader();
    Collection<AbstractMavenLifecycleParticipant> participants = getLifecycleParticipants(
            Collections.singletonList(project));
    if (!participants.isEmpty()) {
        LegacySupport legacySupport = getMavenComponent(LegacySupport.class);
        MavenSession session = legacySupport.getSession();
        session.setCurrentProject(project);
        session.setProjects(Collections.singletonList(project));

        for (AbstractMavenLifecycleParticipant participant : participants) {
            Thread.currentThread().setContextClassLoader(participant.getClass().getClassLoader());
            try {
                participant.afterProjectsRead(session);
            } catch (MavenExecutionException e) {
                exceptions.add(e);/*from   w  w w  . j av a  2 s. co  m*/
            } finally {
                Thread.currentThread().setContextClassLoader(currentClassLoader);
            }
        }
    }
}

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 {/*from  w ww  .  jav  a  2s. co  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.eclipse.m2e.core.internal.embedder.MavenExecutionContext.java

License:Open Source License

public <V> V execute(MavenProject project, ICallable<V> callable, IProgressMonitor monitor)
        throws CoreException {
    Deque<MavenExecutionContext> stack = context.get();
    if (stack == null) {
        stack = new ArrayDeque<MavenExecutionContext>();
        context.set(stack);//from  ww w .ja va 2 s  . c  o  m
    }
    final MavenExecutionContext parent = stack.peek();

    if (this == parent) {
        // shortcut the setup logic, this is nested invocation of the same context
        return executeBare(project, callable, monitor);
    }

    // remember original configuration to "pop" the session stack properly
    final ArtifactRepository origlocalRepository = localRepository;
    final FilterRepositorySystemSession origRepositorySession = repositorySession;
    final MavenSession origMavenSession = mavenSession;
    final MavenExecutionRequest origRequest = request;

    if (request == null && parent != null) {
        this.request = parent.request;
        this.localRepository = parent.localRepository;
        this.repositorySession = parent.repositorySession;
        this.mavenSession = parent.mavenSession;
    } else {
        if (request == null) {
            request = newExecutionRequest();
        }
        maven.populateDefaults(request);
        populateSystemProperties(request);
        this.localRepository = request.getLocalRepository();
        this.repositorySession = maven.createRepositorySession(request);
        if (parent != null) {
            this.repositorySession.setData(parent.repositorySession.getData());
        }
        final MavenExecutionResult result = new DefaultMavenExecutionResult();
        this.mavenSession = new MavenSession(maven.getPlexusContainer(), repositorySession, request, result);
    }

    final LegacySupport legacySupport = maven.lookup(LegacySupport.class);
    final MavenSession origLegacySession = legacySupport.getSession(); // TODO validate == origSession

    stack.push(this);
    legacySupport.setSession(mavenSession);
    try {
        return executeBare(project, callable, monitor);
    } finally {
        stack.pop();
        if (stack.isEmpty()) {
            context.set(null); // TODO decide if this is useful
        }
        legacySupport.setSession(origLegacySession);
        mavenSession = origMavenSession;
        repositorySession = origRepositorySession;
        localRepository = origlocalRepository;
        request = origRequest;
    }
}

From source file:org.eclipse.m2e.core.internal.MavenPluginActivator.java

License:Open Source License

/**
 * @deprecated use {@link IMavenExecutionContext} instead.
 *//*from  w w  w. ja  v  a  2s. co  m*/
public MavenSession setSession(MavenSession session) {
    LegacySupport legacy = lookup(LegacySupport.class);
    MavenSession old = legacy.getSession();
    legacy.setSession(session);
    return old;
}

From source file:org.eclipse.m2e.core.MavenPlugin.java

License:Open Source License

public MavenSession setSession(MavenSession session) {
    LegacySupport legacy = lookup(LegacySupport.class);
    MavenSession old = legacy.getSession();
    legacy.setSession(session);//from ww w.j  av a2  s. co  m
    return old;
}

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 {/*ww w  .  j av  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);
    }
}

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

License:Apache License

/**
 * adapted from {@link DefaultMaven#doExecute(MavenExecutionRequest)}
 *///from  w  w  w .  j  av a 2 s .  c o  m
private void loadExtensions(MavenProject project, List<Exception> exceptions) {
    ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
    Collection<AbstractMavenLifecycleParticipant> lifecycleParticipants = getLifecycleParticipants(
            Arrays.asList(project));
    if (!lifecycleParticipants.isEmpty()) {
        LegacySupport legacySupport = getComponent(LegacySupport.class);
        MavenSession session = legacySupport.getSession();
        session.setCurrentProject(project);
        session.setProjects(Arrays.asList(project));

        for (AbstractMavenLifecycleParticipant listener : lifecycleParticipants) {
            Thread.currentThread().setContextClassLoader(listener.getClass().getClassLoader());
            try {
                listener.afterProjectsRead(session);
            } catch (MavenExecutionException e) {
                exceptions.add(e);
            } finally {
                Thread.currentThread().setContextClassLoader(originalClassLoader);
            }
        }
    }
}

From source file:org.sourcepit.b2.release.B2ReleaseHelper.java

License:Apache License

@Inject
public B2ReleaseHelper(B2ScmHelper scmHelper, LegacySupport buildContext) {
    this.scmHelper = scmHelper;
    bridge = B2MavenBridge.get(buildContext.getSession());
}

From source file:org.sourcepit.b2.release.B2ScmHelper.java

License:Apache License

@Inject
public B2ScmHelper(ScmRepositoryConfigurator scmRepositoryConfigurator, LegacySupport buildContext) {
    this.scmRepositoryConfigurator = scmRepositoryConfigurator;
    bridge = B2MavenBridge.get(buildContext.getSession());
}