public MavenExecutionRequest createRequest( File file, List<String> activeProfiles, List<String> inactiveProfiles, List<String> goals) throws RemoteException { // Properties executionProperties = myMavenSettings.getProperties(); // if (executionProperties == null) { // executionProperties = new Properties(); // } MavenExecutionRequest result = new DefaultMavenExecutionRequest(); try { getComponent(MavenExecutionRequestPopulator.class) .populateFromSettings(result, myMavenSettings); result.setGoals(goals); result.setPom(file); getComponent(MavenExecutionRequestPopulator.class).populateDefaults(result); result.setSystemProperties(mySystemProperties); result.setActiveProfiles(activeProfiles); result.setInactiveProfiles(inactiveProfiles); return result; } catch (MavenExecutionRequestPopulationException e) { throw new RuntimeException(e); } }
private MavenExecutionResult doExecute( @NotNull final File file, @NotNull final List<String> activeProfiles, @NotNull final List<String> inactiveProfiles, @NotNull final List<String> goals, @NotNull final List<String> selectedProjects, boolean alsoMake, boolean alsoMakeDependents) throws RemoteException { MavenExecutionRequest request = createRequest(file, activeProfiles, inactiveProfiles, goals); if (!selectedProjects.isEmpty()) { request.setRecursive(true); request.setSelectedProjects(selectedProjects); if (alsoMake && alsoMakeDependents) { request.setMakeBehavior(ReactorManager.MAKE_BOTH_MODE); } else if (alsoMake) { request.setMakeBehavior(ReactorManager.MAKE_MODE); } else if (alsoMakeDependents) { request.setMakeBehavior(ReactorManager.MAKE_DEPENDENTS_MODE); } } Maven maven = getComponent(Maven.class); org.apache.maven.execution.MavenExecutionResult executionResult = maven.execute(request); return new MavenExecutionResult( executionResult.getProject(), filterExceptions(executionResult.getExceptions())); }
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); try { runnable.run(); } finally { legacySupport.setSession(oldSession); } }