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

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

Introduction

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

Prototype

@Override
    public File getPomFile() 

Source Link

Usage

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;/*from   w w w . j  a  va 2  s  .  c o 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.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)/*from w  w w.  j  av a  2  s  .  c  om*/
            .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;
}