Example usage for org.apache.maven.project MavenProject setArtifactFilter

List of usage examples for org.apache.maven.project MavenProject setArtifactFilter

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject setArtifactFilter.

Prototype

public void setArtifactFilter(ArtifactFilter artifactFilter) 

Source Link

Document

Sets the scope filter to select the artifacts being exposed to the currently executed mojo.

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));
    }//from  w  w  w . j a  v  a 2s.  c om
    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.sourcepit.common.maven.testing.EmbeddedMaven.java

License:Apache License

public MavenExecutionResult2 buildProject(File pom, Properties userProperties, boolean resolveDependencies)
        throws Exception {
    final MavenExecutionRequest request = newMavenExecutionRequest(pom, newSystemProperties(), userProperties,
            "compile");
    request.getProjectBuildingRequest().setProcessPlugins(false);
    request.getProjectBuildingRequest().setResolveDependencies(resolveDependencies);

    final MavenSession[] session = new MavenSession[1];
    request.setExecutionListener(new ChainedExecutionListener(request.getExecutionListener()) {
        @Override/*w  w w.j  a va 2s . c  o m*/
        public void sessionStarted(ExecutionEvent event) {
            super.sessionStarted(event);
            session[0] = event.getSession();
            throw new IllegalStateException();
        }
    });

    final MavenExecutionResult2 tmpResult = execute(request);
    if (session[0] == null) {
        if (tmpResult.hasExceptions()) {
            throw new IllegalStateException(tmpResult.getExceptions().get(0));
        }
    }

    final MavenExecutionResult2 result = new MavenExecutionResult2Impl(session[0], session[0].getResult());
    if (request.getProjectBuildingRequest().isResolveDependencies()) {
        Set<Artifact> projectArtifacts = new HashSet<Artifact>();

        for (MavenProject mavenProject : result.getTopologicallySortedProjects()) {
            File artifactFile = MavenProjectUtils.getOutputDir(mavenProject);
            if (artifactFile == null) {
                artifactFile = mavenProject.getBasedir();
            }
            mavenProject.getArtifact().setFile(artifactFile);
            mavenProject.getArtifact().setResolved(true);

            projectArtifacts.add(mavenProject.getArtifact());

            mavenProject.addLifecyclePhase("clean");
            mavenProject.addLifecyclePhase("process-resources");
            mavenProject.addLifecyclePhase("compile");

            ArrayList<String> scopesToCollect = new ArrayList<String>();
            Collections.addAll(scopesToCollect, "system", "compile", "provided", "runtime", "test");

            try {
                resolver.resolveProjectDependencies(mavenProject, scopesToCollect, scopesToCollect,
                        result.getSession(), true, Collections.<Artifact>emptySet());
            } catch (LifecycleExecutionException e) {
                result.addException(e);
            }

            mavenProject.setArtifactFilter(new CumulativeScopeArtifactFilter(scopesToCollect));
        }
    }
    if (result.hasExceptions()) {
        throw new IllegalStateException(result.getExceptions().get(0));
    }

    return result;
}