Example usage for org.apache.maven.model.building ModelProblem getSource

List of usage examples for org.apache.maven.model.building ModelProblem getSource

Introduction

In this page you can find the example usage for org.apache.maven.model.building ModelProblem getSource.

Prototype

String getSource();

Source Link

Document

Gets the hint about the source of the problem.

Usage

From source file:com.redhat.rcm.version.util.ModelProblemRenderer.java

License:Open Source License

@Override
public String toString() {
    final StringBuilder sb = new StringBuilder();
    for (final ModelProblem problem : problems) {
        if (problem.getSeverity().ordinal() > minSeverity.ordinal()) {
            continue;
        }//from  w  ww . j av a  2 s .  co m

        if (sb.length() > 0) {
            sb.append("\n");
        }

        sb.append(problem.getSeverity()).append(": ").append(problem.getMessage()).append("\n\tSource: ")
                .append(problem.getSource()).append("@").append(problem.getLineNumber()).append(':')
                .append(problem.getColumnNumber());
    }

    return sb.toString();
}

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  av  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 {/*  ww  w.java  2 s.  c  om*/
        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 {/*from w  w w .j av a  2s. c o 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.markers.SourceLocationHelper.java

License:Open Source License

public static SourceLocation findLocation(IResource pomResource, ModelProblem modelProblem) {
    int lineNumber = Math.max(1, modelProblem.getLineNumber());
    if (pomResource == null) {
        return new SourceLocation(lineNumber, 1, 1);
    }//from  w  ww.  j ava 2s . c  o m

    String pomFile = pomResource.getLocation().toOSString();
    if (pomFile.equals(modelProblem.getSource())) {
        return new SourceLocation(lineNumber, 1, 1);
    }
    int columnNumber = Math.max(1, modelProblem.getColumnNumber());
    SourceLocation causeLocation = new SourceLocation(modelProblem.getSource(), modelProblem.getModelId(),
            lineNumber, 1, columnNumber - COLUMN_END_OFFSET);
    return new SourceLocation(1, 1, 1, causeLocation);
}