List of usage examples for org.apache.maven.project ProjectBuildingResult getProjectId
String getProjectId();
From source file:org.commonjava.emb.project.ProjectLoader.java
License:Apache License
public List<MavenProject> buildReactorProjectInstances(final ProjectToolsSession session, final File... rootPoms) throws ProjectToolsException { final ProjectBuildingRequest pbr = sessionInjector.getProjectBuildingRequest(session); try {//from w w w. j a v a 2 s . c o m final List<File> pomFiles = Arrays.asList(rootPoms); final List<ProjectBuildingResult> results = projectBuilder.build(pomFiles, true, pbr); final List<MavenProject> projects = new ArrayList<MavenProject>(results.size()); for (final ProjectBuildingResult result : results) { final MavenProject project = result.getProject(); project.setRemoteArtifactRepositories(session.getRemoteArtifactRepositories()); projects.add(project); } session.setReactorProjects(projects); if (LOGGER.isDebugEnabled()) { LOGGER.debug( "Adding projects to dependency graph:\n\t" + StringUtils.join(projects.iterator(), "\n\t")); } addProjects(session, projects); return projects; } catch (final ProjectBuildingException e) { // logger.error( "Failed to build MavenProject instances from POM files for sorting: " + e.getMessage(), e // ); final List<ProjectBuildingResult> results = e.getResults(); final StringBuilder sb = new StringBuilder(); if (results == null) { sb.append("Cannot build reactor project instances for root-POM: ").append(rootPoms); final StringWriter sWriter = new StringWriter(); final PrintWriter pWriter = new PrintWriter(sWriter); e.printStackTrace(pWriter); sb.append("\n").append(sWriter); } else { int i = 0; for (final ProjectBuildingResult result : results) { final List<ModelProblem> problems = result.getProblems(); if (problems != null && !problems.isEmpty()) { sb.append("\n").append(result.getProjectId()); for (final ModelProblem problem : problems) { sb.append("\n\t").append(problem.getMessage()).append("\n\t\t") .append(problem.getSource()).append("@").append(problem.getLineNumber()) .append(":" + problem.getColumnNumber()); if (problem.getException() != null) { final StringWriter sWriter = new StringWriter(); final PrintWriter pWriter = new PrintWriter(sWriter); problem.getException().printStackTrace(pWriter); sb.append("\n").append(sWriter); } sb.append((++i)).append(" ").append(sb); } } } } throw new ProjectToolsException("Failed to build project instance. \n\n%s", e, sb); } }