List of usage examples for org.apache.maven.project ProjectBuildingResult getProblems
List<ModelProblem> getProblems();
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 {/* w ww. j ava2s. 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); } }
From source file:org.commonjava.emb.project.ProjectLoader.java
License:Apache License
public MavenProject buildProjectInstance(final File pomFile, final ProjectToolsSession session) throws ProjectToolsException { final ProjectBuildingRequest pbr = sessionInjector.getProjectBuildingRequest(session); try {/* www . j a va 2s . c o m*/ final ProjectBuildingResult result = projectBuilder.build(pomFile, pbr); final MavenProject project = result.getProject(); project.setRemoteArtifactRepositories(session.getRemoteArtifactRepositories()); addProjects(session, project); return project; } 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 project instance for: ").append(pomFile); 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(); for (final ModelProblem problem : problems) { sb.append(problem.getMessage()).append("\n\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); } }
From source file:org.commonjava.emb.project.ProjectLoader.java
License:Apache License
public MavenProject buildProjectInstance(final String groupId, final String artifactId, final String version, final ProjectToolsSession session) throws ProjectToolsException { final ProjectBuildingRequest req = sessionInjector.getProjectBuildingRequest(session); try {// www .j a v a 2 s . c om final org.apache.maven.artifact.Artifact pomArtifact = mavenRepositorySystem.createArtifact(groupId, artifactId, version, "pom"); final Artifact aetherPomArtifact = RepositoryUtils.toArtifact(pomArtifact); final ArtifactRequest artifactRequest = new ArtifactRequest(aetherPomArtifact, sessionInjector.getRemoteRepositories(session), "project"); final ArtifactResult artifactResult = aetherRepositorySystem.resolveArtifact(req.getRepositorySession(), artifactRequest); final File pomFile = artifactResult.getArtifact().getFile(); final ProjectBuildingResult result = projectBuilder.build(pomFile, req); final MavenProject project = result.getProject(); project.setRemoteArtifactRepositories(session.getRemoteArtifactRepositories()); project.setFile(pomFile); addProjects(session, project); return project; } 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(); int i = 0; if (results == null) { sb.append("Cannot build project instance for: ").append(groupId).append(':').append(artifactId) .append(':').append(version); final StringWriter sWriter = new StringWriter(); final PrintWriter pWriter = new PrintWriter(sWriter); e.printStackTrace(pWriter); sb.append("\n").append(sWriter); } else { for (final ProjectBuildingResult result : results) { final List<ModelProblem> problems = result.getProblems(); for (final ModelProblem problem : problems) { sb.append(problem.getMessage()).append("\n\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); } catch (final ArtifactResolutionException e) { throw new ProjectToolsException("Failed to resolve POM: %s:%s:%s\nReason: %s", e, groupId, artifactId, version, e.getMessage()); } }
From source file:org.echocat.jomon.maven.MavenProjectWithModulesFactory.java
License:Mozilla Public License
@Nonnull protected MavenProjectWithModules resultsToProject(@Nonnull File basePomFile, @Nonnull List<ProjectBuildingResult> results) throws Exception { final Map<MavenProject, MavenProjectWithModules> projectToProjectWithModules = new HashMap<>(); for (final ProjectBuildingResult result : results) { if (!result.getProblems().isEmpty()) { throw new ProjectBuildingException(results); }/* www.ja v a 2 s . co m*/ final MavenProjectWithModules projectWithModules = getMavenProjectWithModules(result, projectToProjectWithModules); resolveModulesFor(projectWithModules, result, results, projectToProjectWithModules); } return selectBaseProject(basePomFile.getCanonicalFile(), projectToProjectWithModules); }
From source file:org.echocat.jomon.maven.MavenProjectWithModulesFactory.java
License:Mozilla Public License
@Nonnull protected void resolveModulesFor(@Nonnull MavenProjectWithModules of, @Nonnull ProjectBuildingResult forResult, @Nonnull List<ProjectBuildingResult> fromResults, @Nonnull Map<MavenProject, MavenProjectWithModules> withProjectToProjectWithModules) throws Exception { for (final ProjectBuildingResult result : fromResults) { if (!result.getProblems().isEmpty()) { throw new ProjectBuildingException(fromResults); }// www . jav a 2 s . co m for (final String moduleName : forResult.getProject().getModules()) { final File pomFile = result.getPomFile(); final File expectedFile = new File(forResult.getPomFile().getParentFile(), moduleName + File.separator + pomFile.getName()); if (expectedFile.getCanonicalFile().equals(pomFile.getCanonicalFile())) { of.addModule(getMavenProjectWithModules(result, withProjectToProjectWithModules)); break; } } } }