Example usage for org.apache.maven.model.building ModelBuildingException getProblems

List of usage examples for org.apache.maven.model.building ModelBuildingException getProblems

Introduction

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

Prototype

public List<ModelProblem> getProblems() 

Source Link

Document

Gets the problems that caused this exception.

Usage

From source file:org.eclipse.m2e.core.internal.markers.MavenMarkerManager.java

License:Open Source License

private List<MavenProblemInfo> toMavenProblemInfos(IResource pomResource, SourceLocation location,
        List<? extends Throwable> exceptions) {
    List<MavenProblemInfo> result = new ArrayList<MavenProblemInfo>();
    if (exceptions == null) {
        return result;
    }/*w ww .  j av a 2s. com*/

    for (Throwable ex : exceptions) {
        if (ex instanceof org.sonatype.aether.transfer.ArtifactNotFoundException) {
            org.sonatype.aether.transfer.ArtifactNotFoundException artifactNotFoundException = (org.sonatype.aether.transfer.ArtifactNotFoundException) ex;
            ArtifactNotFoundProblemInfo problem = new ArtifactNotFoundProblemInfo(
                    artifactNotFoundException.getArtifact(), mavenConfiguration.isOffline(), location);
            result.add(problem);
        } else if (ex instanceof AbstractArtifactResolutionException) {
            AbstractArtifactResolutionException abstractArtifactResolutionException = (AbstractArtifactResolutionException) ex;
            String errorMessage = getArtifactId(abstractArtifactResolutionException) + " " //$NON-NLS-1$
                    + getRootErrorMessage(ex);
            result.add(new MavenProblemInfo(errorMessage, location));
        } else if (ex instanceof ProjectBuildingException) {
            Throwable cause = ex.getCause();
            if (cause instanceof ModelBuildingException) {
                ModelBuildingException mbe = (ModelBuildingException) cause;
                for (ModelProblem problem : mbe.getProblems()) {
                    String message = NLS.bind(Messages.pluginMarkerBuildError, problem.getMessage());
                    int severity = (Severity.WARNING == problem.getSeverity()) ? IMarker.SEVERITY_WARNING
                            : IMarker.SEVERITY_ERROR;
                    SourceLocation problemLocation = SourceLocationHelper.findLocation(pomResource, problem);
                    result.add(new MavenProblemInfo(message, severity, problemLocation));
                }
            } else {
                result.add(new MavenProblemInfo(getErrorMessage(ex), location));
            }
        } else {
            result.add(new MavenProblemInfo(getErrorMessage(ex), location));
        }
    }

    return result;
}

From source file:org.jboss.forge.arquillian.maven.ProjectHelper.java

License:Open Source License

public Model loadPomFromFile(File pomFile, String... profiles) {
    RepositorySystem system = mavenContainer.getRepositorySystem();
    Settings settings = mavenContainer.getSettings();
    DefaultRepositorySystemSession session = mavenContainer.setupRepoSession(system, settings);
    final DefaultModelBuildingRequest request = new DefaultModelBuildingRequest()
            .setSystemProperties(System.getProperties()).setPomFile(pomFile)
            .setActiveProfileIds(settings.getActiveProfiles());
    ModelBuilder builder = new DefaultModelBuilderFactory().newInstance();
    ModelBuildingResult result;/*  w  w w .j ava  2s  . co  m*/
    try {
        request.setModelResolver(new MavenModelResolver(system, session,
                mavenContainer.getEnabledRepositoriesFromProfile(settings)));
        result = builder.build(request);
    }
    // wrap exception message
    catch (ModelBuildingException e) {
        String pomPath = request.getPomFile().getAbsolutePath();
        StringBuilder sb = new StringBuilder("Found ").append(e.getProblems().size())
                .append(" problems while building POM model from ").append(pomPath).append("\n");

        int counter = 1;
        for (ModelProblem problem : e.getProblems()) {
            sb.append(counter++).append("/ ").append(problem).append("\n");
        }

        throw new RuntimeException(sb.toString());
    }
    return result.getEffectiveModel();
}

From source file:org.jboss.shrinkwrap.resolver.impl.maven.MavenEnvironmentImpl.java

License:Open Source License

@Override
public MavenEnvironment execute(ModelBuildingRequest request) {

    request.setModelResolver(new MavenModelResolver(system, session, getRemoteRepositories()));

    ModelBuilder builder = new DefaultModelBuilderFactory().newInstance();
    ModelBuildingResult result;/* w w w .ja  v  a 2s  . co m*/
    try {
        result = builder.build(request);
    }
    // wrap exception message
    catch (ModelBuildingException e) {
        String pomPath = request.getPomFile().getAbsolutePath();
        StringBuilder sb = new StringBuilder("Found ").append(e.getProblems().size())
                .append(" problems while building POM model from ").append(pomPath).append("\n");

        int counter = 1;
        for (ModelProblem problem : e.getProblems()) {
            sb.append(counter++).append("/ ").append(problem).append("\n");
        }

        throw new ResolutionException(sb.toString(), e);
    }

    // get and update model
    Model model = result.getEffectiveModel();
    this.model = model;

    // update model repositories
    for (Repository repository : model.getRepositories()) {
        remoteRepositories.add(MavenConverter.asRemoteRepository(repository));
    }

    return this;
}

From source file:org.jboss.shrinkwrap.resolver.impl.maven.MavenRepositorySystem.java

License:Apache License

public Model loadPom(File pom, MavenDependencyResolverSettings settings, MavenModelResolver modelResolver)
        throws ResolutionException {
    ModelBuildingRequest request = new DefaultModelBuildingRequest();
    request.setPomFile(pom);//from   ww  w. j a  v  a 2 s.c  o  m
    request.setModelResolver(modelResolver);

    ModelBuilder builder = new DefaultModelBuilderFactory().newInstance();
    ModelBuildingResult result;
    try {
        result = builder.build(request);
    }
    // wrap exception message
    catch (ModelBuildingException e) {
        StringBuilder sb = new StringBuilder("Found ").append(e.getProblems().size())
                .append(" problems while building POM model from ").append(pom.getAbsolutePath());

        int counter = 1;
        for (ModelProblem problem : e.getProblems()) {
            sb.append(counter++).append("/ ").append(problem).append("\n");
        }

        throw new ResolutionException(sb.toString(), e);
    }

    Model model = result.getEffectiveModel();
    settings.setModelRemoteRepositories(model);
    return model;

}

From source file:org.jboss.shrinkwrap.resolver.impl.maven.MavenWorkingSessionImpl.java

License:Apache License

@Override
public MavenWorkingSession loadPomFromFile(File pomFile, String... profiles)
        throws InvalidConfigurationFileException {

    final DefaultModelBuildingRequest request = new DefaultModelBuildingRequest()
            .setSystemProperties(SecurityActions.getProperties()).setProfiles(this.getSettingsDefinedProfiles())
            .setPomFile(pomFile)/* w w w  . j  a  va  2 s .c o  m*/
            .setActiveProfileIds(SettingsXmlProfileSelector.explicitlyActivatedProfiles(profiles))
            .setInactiveProfileIds(SettingsXmlProfileSelector.explicitlyDisabledProfiles(profiles));

    ModelBuilder builder = new DefaultModelBuilderFactory().newInstance();
    ModelBuildingResult result;
    try {
        request.setModelResolver(new MavenModelResolver(system, session, getRemoteRepositories()));
        result = builder.build(request);
    }
    // wrap exception message
    catch (ModelBuildingException e) {
        String pomPath = request.getPomFile().getAbsolutePath();
        StringBuilder sb = new StringBuilder("Found ").append(e.getProblems().size())
                .append(" problems while building POM model from ").append(pomPath).append("\n");

        int counter = 1;
        for (ModelProblem problem : e.getProblems()) {
            sb.append(counter++).append("/ ").append(problem).append("\n");
        }

        throw new InvalidConfigurationFileException(sb.toString());
    }

    // get and update model
    Model model = result.getEffectiveModel();
    this.model = model;

    // update model repositories
    for (Repository repository : model.getRepositories()) {
        remoteRepositories.add(MavenConverter.asRemoteRepository(repository));
    }

    return this;
}