Example usage for org.apache.maven.project ProjectBuildingException getResults

List of usage examples for org.apache.maven.project ProjectBuildingException getResults

Introduction

In this page you can find the example usage for org.apache.maven.project ProjectBuildingException getResults.

Prototype

public List<ProjectBuildingResult> getResults() 

Source Link

Usage

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;
}