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

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

Introduction

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

Prototype

public File getPomFile() 

Source Link

Usage

From source file:org.sourcepit.maven.bootstrap.core.AbstractBootstrapper.java

License:Apache License

private List<MavenProject> buildBootstrapProjects(MavenSession session, Collection<File> descriptors) {
    final ProjectBuildingRequest request = new DefaultProjectBuildingRequest(
            session.getProjectBuildingRequest());
    request.setRemoteRepositories(filterArtifactRepositories(request.getRemoteRepositories()));

    final List<ProjectBuildingResult> results;
    try {/* w  w w  .  j  a va2  s . co m*/
        results = projectBuilder.build(new ArrayList<File>(descriptors), false, request);
    } catch (ProjectBuildingException e) {
        throw new IllegalStateException("Cannot build bootstrapper project for " + e.getPomFile(), e);
    }

    final List<MavenProject> projects = new ArrayList<MavenProject>(results.size());
    for (ProjectBuildingResult result : results) {
        final MavenProject project = result.getProject();
        project.setRemoteArtifactRepositories(
                filterArtifactRepositories(project.getRemoteArtifactRepositories()));
        project.setPluginArtifactRepositories(
                filterArtifactRepositories(project.getPluginArtifactRepositories()));
        projects.add(project);
    }

    final ProjectSorter projectSorter;
    try {
        // HACK: Constructor arg changed with Maven 3.2 from List to Collection which made it binary incompatible
        projectSorter = (ProjectSorter) ProjectSorter.class.getConstructors()[0].newInstance(projects);
    } catch (InstantiationException e) {
        throw new IllegalStateException(e);
    } catch (IllegalAccessException e) {
        throw new IllegalStateException(e);
    } catch (InvocationTargetException e) {
        throw new IllegalStateException(e.getTargetException());
    }

    return projectSorter.getSortedProjects();
}