Example usage for org.apache.maven.model.building ModelBuildingRequest getPomFile

List of usage examples for org.apache.maven.model.building ModelBuildingRequest getPomFile

Introduction

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

Prototype

File getPomFile();

Source Link

Document

Gets the POM file of the project to build.

Usage

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  ww  . ja  v  a 2  s . 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;
}