List of usage examples for org.apache.maven.project ProjectBuildingException getResults
public List<ProjectBuildingResult> getResults()
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 w w .ja 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); } }
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 {/*from w ww . j a v a 2 s. co 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 {//w w w.j av a 2s.co m 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.eclipse.m2e.core.internal.embedder.MavenImpl.java
License:Open Source License
public MavenExecutionResult readMavenProject(File pomFile, ProjectBuildingRequest configuration) throws CoreException { long start = System.currentTimeMillis(); log.debug("Reading Maven project: {}", pomFile.getAbsoluteFile()); //$NON-NLS-1$ MavenExecutionResult result = new DefaultMavenExecutionResult(); try {//from w ww .java 2 s.c om configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); ProjectBuildingResult projectBuildingResult = lookup(ProjectBuilder.class).build(pomFile, configuration); result.setProject(projectBuildingResult.getProject()); result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult()); } catch (ProjectBuildingException ex) { if (ex.getResults() != null && ex.getResults().size() == 1) { ProjectBuildingResult projectBuildingResult = ex.getResults().get(0); result.setProject(projectBuildingResult.getProject()); result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult()); } result.addException(ex); } finally { log.debug("Read Maven project: {} in {} ms", pomFile.getAbsoluteFile(), //$NON-NLS-1$ System.currentTimeMillis() - start); } return result; }
From source file:org.heneveld.maven.license_audit.AbstractLicensingMojo.java
protected MavenProject loadProject(org.apache.maven.artifact.Artifact mda) { // older code creates a new PBReq but it lacks user props; this seems to work better String projectId = Coords.of(mda).normal(); MavenProject p = projectByIdCache.get(projectId); if (p != null) return p; try {//from w w w. ja va 2 s . c o m getLog().debug("Loading project for " + mda); ProjectBuildingResult res = projectBuilder.build(mda, true, mavenSession.getProjectBuildingRequest()); p = res.getProject(); } catch (ProjectBuildingException e) { if (e.getResults().size() == 1) { getLog().warn( "Error loading maven project/model for " + mda + " (but got a result so ignoring): " + e); p = e.getResults().get(0).getProject(); } else { getLog().error("Errors loading maven project/model for " + mda + ": " + e); addError(projectId, e); return null; } } if (p == null) { addError(projectId, "Failure with no data when trying to load project"); return null; } projectByIdCache.put(projectId, p); return p; }
From source file:org.jboss.forge.addon.maven.projects.MavenBuildManager.java
License:Open Source License
/*** * @param pomResource// www . ja v a 2 s. com * @return * @throws ProjectBuildingException */ ProjectBuildingResult getProjectBuildingResult(MavenModelResource pomResource) throws ProjectBuildingException { ProjectBuildingResult result = cacheProject.get(pomResource.getFullyQualifiedName()); if (result == null) { try { ProjectBuildingRequest request = getProjectBuildingRequest(); Assert.notNull(request, "Project building request was null"); request.setResolveDependencies(true); boolean inTransaction = !pomResource.getUnderlyingResourceObject().exists(); // FORGE-1287 if (inTransaction) { result = getProjectBuilder().build(new FileResourceModelSource(pomResource), request); // If under a transaction, don't start monitoring } else { result = getProjectBuilder().build(pomResource.getUnderlyingResourceObject(), request); monitorResource(pomResource); } } catch (ProjectBuildingException pbe) { List<ProjectBuildingResult> results = pbe.getResults(); if (results != null && results.size() > 0) result = results.get(0); throw pbe; } finally { if (result != null) cacheProject.put(pomResource.getFullyQualifiedName(), result); } } return result; }
From source file:org.springframework.ide.vscode.commons.maven.MavenBridge.java
License:Open Source License
public MavenExecutionResult readMavenProject(File pomFile, ProjectBuildingRequest configuration) throws MavenException { long start = System.currentTimeMillis(); log.debug("Reading Maven project: {}", pomFile.getAbsoluteFile()); //$NON-NLS-1$ MavenExecutionResult result = new DefaultMavenExecutionResult(); try {// w w w . j a v a 2 s . co m configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); ProjectBuildingResult projectBuildingResult = lookup(ProjectBuilder.class).build(pomFile, configuration); result.setProject(projectBuildingResult.getProject()); result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult()); } catch (ProjectBuildingException ex) { if (ex.getResults() != null && ex.getResults().size() == 1) { ProjectBuildingResult projectBuildingResult = ex.getResults().get(0); result.setProject(projectBuildingResult.getProject()); result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult()); } result.addException(ex); } catch (RuntimeException e) { result.addException(e); } finally { log.debug("Read Maven project: {} in {} ms", pomFile.getAbsoluteFile(), //$NON-NLS-1$ System.currentTimeMillis() - start); } return result; }