List of usage examples for org.apache.maven.execution ReactorManager getSortedProjects
public List<MavenProject> getSortedProjects()
From source file:hudson.gridmaven.Maven2Builder.java
License:Open Source License
@Override void preBuild(MavenSession session, ReactorManager rm, EventDispatcher dispatcher) throws BuildFailureException, LifecycleExecutionException, IOException, InterruptedException { // set all modules which are not actually being build (in incremental builds) to NOT_BUILD List<MavenProject> projects = rm.getSortedProjects(); Set<ModuleName> buildingProjects = new HashSet<ModuleName>(); for (MavenProject p : projects) { buildingProjects.add(new ModuleName(p)); }//from w w w . j a v a 2 s. c o m for (Entry<ModuleName, FilterImpl> e : this.proxies.entrySet()) { if (!buildingProjects.contains(e.getKey())) { MavenBuildProxy2 proxy = e.getValue(); proxy.start(); proxy.setResult(Result.NOT_BUILT); proxy.end(); } } }
From source file:org.maven.ide.eclipse.embedder.BuildPathManager.java
License:Apache License
private MavenProject collectSourceEntries(IProject project, List sourceEntries, Set sources, ResolverConfiguration configuration, IProgressMonitor monitor) { if (monitor.isCanceled()) { throw new OperationCanceledException(); }//from w w w . j a va 2s . c om Maven2Plugin plugin = Maven2Plugin.getDefault(); IPreferenceStore preferenceStore = plugin.getPreferenceStore(); boolean offline = preferenceStore.getBoolean(Maven2PreferenceConstants.P_OFFLINE); boolean debug = preferenceStore.getBoolean(Maven2PreferenceConstants.P_DEBUG_OUTPUT); String globalSettings = preferenceStore.getString(Maven2PreferenceConstants.P_GLOBAL_SETTINGS_FILE); MavenEmbedder mavenEmbedder; try { // XXX should use project embedder with resolving from workspace? mavenEmbedder = EmbedderFactory.createMavenEmbedder(EmbedderFactory.createExecutionCustomizer(), new PluginConsoleMavenEmbeddedLogger(console, debug), globalSettings); } catch (MavenEmbedderException ex) { console.logError("Unable to create embedder; " + ex.toString()); return null; } IFile pomResource = project.getFile(Maven2Plugin.POM_FILE_NAME); monitor.setTaskName("Reading " + pomResource.getFullPath()); if (preferenceStore.getBoolean(Maven2PreferenceConstants.P_DEBUG_OUTPUT)) { console.logMessage("Reading " + pomResource.getFullPath()); } File pomFile = pomResource.getLocation().toFile(); MavenProject mavenProject; // try { // mavenProject = mavenEmbedder.readProject(pomFile); // } catch(Exception ex) { // console.logError("Unable to read project " + pomResource.getFullPath() + "; " + ex.toString()); // return null; // } File basedir = pomResource.getLocation().toFile().getParentFile(); File projectBaseDir = project.getLocation().toFile(); monitor.subTask("Generating Sources " + pomResource.getFullPath()); try { console.logMessage("Generating sources " + pomResource.getFullPath()); MavenExecutionRequest request = EmbedderFactory.createMavenExecutionRequest(mavenEmbedder, offline, debug); request.setUseReactor(false); request.setRecursive(configuration.shouldIncludeModules()); request.setBaseDirectory(pomFile.getParentFile()); request.setGoals(Collections.singletonList("process-test-resources")); request.addEventMonitor(new PluginConsoleEventMonitor(console)); request.setTransferListener(new TransferListenerAdapter(monitor, console, indexManager)); // request.setPomFile(pomFile.getAbsolutePath()); // request.setGoals(Arrays.asList("generate-sources,generate-resources,generate-test-sources,generate-test-resources".split(","))); // request.setProfiles(...); // request.setReactorFailureBehavior(MavenExecutionRequest.REACTOR_FAIL_AT_END); MavenExecutionResult result = mavenEmbedder.execute(request); // TODO optimize project refresh monitor.subTask("Refreshing"); project.refreshLocal(IResource.DEPTH_INFINITE, new SubProgressMonitor(monitor, 1)); mavenProject = result.getProject(); ReactorManager reactorManager = result.getReactorManager(); if (reactorManager != null && reactorManager.getSortedProjects() != null) { if (configuration.shouldIncludeModules()) { for (Iterator it = reactorManager.getSortedProjects().iterator(); it.hasNext();) { addDirs(project, sources, sourceEntries, (MavenProject) it.next(), basedir, projectBaseDir); } } else { addDirs(project, sources, sourceEntries, // (MavenProject) reactorManager.getSortedProjects().iterator().next(), // basedir, projectBaseDir); } } if (result.hasExceptions()) { for (Iterator it = result.getExceptions().iterator(); it.hasNext();) { Exception ex = (Exception) it.next(); console.logError("Build error for " + pomResource.getFullPath() + "; " + ex.toString()); } } if (mavenProject == null) { try { mavenProject = mavenEmbedder.readProject(pomFile); } catch (Exception ex2) { console.logError("Unable to read project " + pomResource.getFullPath() + "; " + ex2.toString()); return null; } } } catch (Exception ex) { String msg = "Build error for " + pomResource.getFullPath(); console.logError(msg + "; " + ex.toString()); Maven2Plugin.log(msg, ex); try { mavenProject = mavenEmbedder.readProject(pomFile); } catch (Exception ex2) { console.logError("Unable to read project " + pomResource.getFullPath() + "; " + ex.toString()); return null; } addDirs(project, sources, sourceEntries, mavenProject, basedir, projectBaseDir); } return mavenProject; }
From source file:org.maven.ide.eclipse.embedder.EclipseLifecycleExecutor.java
License:Apache License
public static List /*java.util.File*/ getAffectedProjects() { Object obj = reactorManager.get(); if (obj instanceof ReactorManager) { ReactorManager rm = (ReactorManager) obj; List lst = rm.getSortedProjects(); Iterator it = lst.iterator(); List toRet = new ArrayList(); while (it.hasNext()) { MavenProject elem = (MavenProject) it.next(); toRet.add(elem.getFile());// w w w.j av a2 s . c om } return toRet; } return Collections.EMPTY_LIST; }