Example usage for org.apache.maven.lifecycle.internal MojoExecutor newDependencyContext

List of usage examples for org.apache.maven.lifecycle.internal MojoExecutor newDependencyContext

Introduction

In this page you can find the example usage for org.apache.maven.lifecycle.internal MojoExecutor newDependencyContext.

Prototype

public DependencyContext newDependencyContext(MavenSession session, List<MojoExecution> mojoExecutions) 

Source Link

Usage

From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java

License:Open Source License

@SuppressWarnings("deprecation")
public void execute(MavenSession session, MojoExecution execution, IProgressMonitor monitor) {
    Map<MavenProject, Set<Artifact>> artifacts = new HashMap<MavenProject, Set<Artifact>>();
    Map<MavenProject, MavenProjectMutableState> snapshots = new HashMap<MavenProject, MavenProjectMutableState>();
    for (MavenProject project : session.getProjects()) {
        artifacts.put(project, new LinkedHashSet<Artifact>(project.getArtifacts()));
        snapshots.put(project, MavenProjectMutableState.takeSnapshot(project));
    }//w  ww  .  ja  v  a2  s .  co m
    try {
        MojoExecutor mojoExecutor = lookup(MojoExecutor.class);
        DependencyContext dependencyContext = mojoExecutor.newDependencyContext(session,
                Collections.singletonList(execution));
        mojoExecutor.ensureDependenciesAreResolved(execution.getMojoDescriptor(), session, dependencyContext);
        lookup(BuildPluginManager.class).executeMojo(session, execution);
    } catch (Exception ex) {
        session.getResult().addException(ex);
    } finally {
        for (MavenProject project : session.getProjects()) {
            project.setArtifactFilter(null);
            project.setResolvedArtifacts(null);
            project.setArtifacts(artifacts.get(project));
            MavenProjectMutableState snapshot = snapshots.get(project);
            if (snapshot != null) {
                snapshot.restore(project);
            }
        }
    }
}

From source file:org.eclipse.m2e.wtp.MavenSessionHelper.java

License:Open Source License

public void ensureDependenciesAreResolved(MavenSession session, MojoExecution execution,
        IProgressMonitor monitor) throws CoreException {
    artifacts = project.getArtifacts();//from ww  w. j a  v  a 2 s  . c  o  m
    dependencyArtifacts = project.getDependencyArtifacts();
    try {

        MojoExecutor mojoExecutor = lookup(MojoExecutor.class);
        DependencyContext dependencyContext = mojoExecutor.newDependencyContext(session,
                Collections.singletonList(execution));

        mojoExecutor.ensureDependenciesAreResolved(execution.getMojoDescriptor(), session, dependencyContext);

    } catch (Exception ex) {
        dispose();
    }
}

From source file:org.maven.ide.eclipse.wtp.MavenSessionHelper.java

License:Open Source License

public void ensureDependenciesAreResolved(MavenSession session, MojoExecution execution,
        IProgressMonitor monitor) throws CoreException {
    artifacts = project.getArtifacts();/*from ww w.  ja  v a  2 s  .  c  o  m*/
    dependencyArtifacts = project.getDependencyArtifacts();
    try {

        MojoExecutor mojoExecutor = lookup(MojoExecutor.class);
        DependencyContext dependencyContext = mojoExecutor.newDependencyContext(session,
                Collections.singletonList(execution));

        // workaround for http://jira.codehaus.org/browse/MNG-5141
        // use reflection until we can get maven 3.0.4+, which has MNG-5141 fixed
        Method ensureDependenciesAreResolved = mojoExecutor.getClass().getDeclaredMethod(
                "ensureDependenciesAreResolved", MojoDescriptor.class, MavenSession.class,
                DependencyContext.class);
        ensureDependenciesAreResolved.setAccessible(true);
        ensureDependenciesAreResolved.invoke(mojoExecutor, execution.getMojoDescriptor(), session,
                dependencyContext);

    } catch (Exception ex) {
        dispose();
    }
}