List of usage examples for org.apache.maven.project MavenProject setArtifactFilter
public void setArtifactFilter(ArtifactFilter artifactFilter)
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; }