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

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

Introduction

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

Prototype

ModelBuildingRequest setModelResolver(ModelResolver modelResolver);

Source Link

Document

Sets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.

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.  j  a va2  s  . com*/
    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);// ww  w .  j a  v  a  2s . c  om
    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.metaservice.core.maven.MavenPomParser.java

License:Apache License

@Override
public List<Model> parse(Reader s, ArchiveAddress archiveParameters) {
    File file = null;//from w w  w  .j av  a 2s .  com
    try {
        file = File.createTempFile("temp", ".pom");
        FileWriter writer = new FileWriter(file);
        IOUtils.copy(s, writer);
        writer.close();

        ModelBuildingRequest req = new DefaultModelBuildingRequest();
        req.setProcessPlugins(false);
        req.setPomFile(file);
        req.setModelResolver(makeModelResolver());
        req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);

        DefaultModelBuilderFactory factory = new DefaultModelBuilderFactory();
        org.apache.maven.model.Model model = factory.newInstance().build(req).getEffectiveModel();
        return Arrays.asList(model);
    } catch (IOException | ModelBuildingException e) {
        throw new RuntimeException(e);
    } finally {
        if (file != null && file.exists()) {
            file.delete();
        }
    }
}

From source file:org.ModelBuilderDemo.java

License:Open Source License

public static void main(String[] args) throws Exception {
    /*/*from   w w  w.  ja  v a 2s.com*/
     * setup the container and get us some interesting components
     */

    PlexusContainer container = new DefaultPlexusContainer();

    ModelBuilder modelBuilder = container.lookup(ModelBuilder.class);

    ModelWriter modelWriter = container.lookup(ModelWriter.class);

    /*
     * build some effective model
     */

    ModelSource modelSource = new UrlModelSource(
            ModelBuilderDemo.class.getResource("/repo/demo/dependency/1.0/pom.xml"));

    ModelBuildingRequest request = new DefaultModelBuildingRequest();

    request.setModelSource(modelSource);
    request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    request.setSystemProperties(System.getProperties());
    request.setModelResolver(new SimpleModelResolver());

    ModelBuildingResult result = modelBuilder.build(request);

    Model effectivePom = result.getEffectiveModel();

    StringWriter writer = new StringWriter();
    modelWriter.write(writer, null, effectivePom);
    System.out.println(writer.toString());
}

From source file:org.sonatype.sisu.maven.bridge.internal.DefaultMavenBridge.java

License:Open Source License

public Model buildModel(File pom, Repository... repositories) throws ModelBuildingException {
    ModelResolver mr = modelResolver.newCopy();
    if (repositories != null) {
        for (Repository repository : repositories) {
            try {
                mr.addRepository(repository);
            } catch (InvalidRepositoryException e) {
                logger.warn(String.format("Could not use repository [%s]", repository.getUrl()), e);
            }/*from w ww  . ja  v  a2 s. c o m*/
        }
    }

    ModelBuildingRequest modelRequest = new DefaultModelBuildingRequest();
    modelRequest.setModelSource(new FileModelSource(pom));
    modelRequest.setSystemProperties(System.getProperties());
    modelRequest.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    modelRequest.setLocationTracking(false);
    modelRequest.setProcessPlugins(false);
    modelRequest.setModelResolver(mr);

    ModelBuildingResult modelResult = modelBuilder.build(modelRequest);
    Model model = modelResult.getEffectiveModel();
    return model;
}

From source file:org.talend.components.api.service.internal.ComponentServiceImpl.java

License:Open Source License

Model loadPom(final InputStream pomStream, MavenBooter booter, List<String> profilesList)
        throws ModelBuildingException {

    RepositorySystem system = booter.newRepositorySystem();
    RepositorySystemSession session = booter.newRepositorySystemSession(system);
    ModelBuildingRequest modelRequest = new DefaultModelBuildingRequest();
    modelRequest.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    modelRequest.setProcessPlugins(false);
    modelRequest.setTwoPhaseBuilding(false);
    modelRequest.setSystemProperties(toProperties(session.getUserProperties(), session.getSystemProperties()));
    // modelRequest.setModelCache( DefaultModelCache.newInstance( session ) );
    ProjectModelResolver projectModelResolver = new ProjectModelResolver(session, null, system,
            new DefaultRemoteRepositoryManager(),
            booter.getRemoteRepositoriesWithAuthentification(system, session), null, null);
    modelRequest.setModelResolver(projectModelResolver);
    modelRequest.setActiveProfileIds(profilesList);
    modelRequest.setModelSource(new ModelSource() {

        @Override/*w w  w .  j a  v  a2s .  c o  m*/
        public InputStream getInputStream() throws IOException {
            return pomStream;
        }

        @Override
        public String getLocation() {
            return "";// FIXME return the component name
        }
    });
    if (modelBuilder == null) {
        modelBuilder = new DefaultModelBuilderFactory().newInstance();
    }
    ModelBuildingResult builtModel = modelBuilder.build(modelRequest);
    LOGGER.debug("built problems:" + builtModel.getProblems());
    return builtModel.getEffectiveModel();
}

From source file:org.tawja.maven.discovery.internal.MavenManager.java

License:Apache License

public Model getEffectiveModel(File pomXmlFile) {
    ModelBuilder modelBuilder = new DefaultModelBuilderFactory().newInstance();
    ModelBuildingRequest req = new DefaultModelBuildingRequest();

    Model model = null;//from  w w w.j  ava  2s.  co  m

    try {
        req.setPomFile(pomXmlFile);
        req.setProcessPlugins(false);
        req.setModelResolver(getMavenModelResolver());
        req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);

        model = modelBuilder.build(req).getEffectiveModel();
    } catch (Exception ex) {
        getLogger().error("Unable to build the Maven Model", ex);
    }

    return model;
}

From source file:org.vesalainen.test.pom.ModelFactory.java

private Model getModel(ModelSource modelSource, ModelResolver modelResolver) {
    ModelBuildingRequest req = new DefaultModelBuildingRequest();
    req.setProcessPlugins(false);/*from  w  ww  . j  a  v a 2s. c  om*/
    req.setModelSource(modelSource);
    req.setModelResolver(modelResolver);
    req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);

    DefaultModelProcessor modelProcessor = new DefaultModelProcessor().setModelReader(new DefaultModelReader());
    DefaultSuperPomProvider superPomProvider = new DefaultSuperPomProvider().setModelProcessor(modelProcessor);
    DefaultPathTranslator pathTranslator = new DefaultPathTranslator();
    DefaultUrlNormalizer urlNormalizer = new DefaultUrlNormalizer();
    StringSearchModelInterpolator stringSearchModelInterpolator = (StringSearchModelInterpolator) new StringSearchModelInterpolator()
            .setPathTranslator(pathTranslator).setUrlNormalizer(urlNormalizer);
    DefaultModelUrlNormalizer modelUrlNormalizer = new DefaultModelUrlNormalizer()
            .setUrlNormalizer(urlNormalizer);
    DefaultModelPathTranslator modelPathTranslator = new DefaultModelPathTranslator()
            .setPathTranslator(pathTranslator);
    ModelBuilder builder = new DefaultModelBuilder()
            .setDependencyManagementImporter(new DefaultDependencyManagementImporter())
            .setDependencyManagementInjector(new DefaultDependencyManagementInjector())
            .setInheritanceAssembler(new DefaultInheritanceAssembler())
            .setModelNormalizer(new DefaultModelNormalizer()).setModelPathTranslator(modelPathTranslator)
            .setModelProcessor(modelProcessor).setModelUrlNormalizer(modelUrlNormalizer)
            .setModelValidator(new DefaultModelValidator())
            .setPluginConfigurationExpander(new DefaultPluginConfigurationExpander())
            .setPluginManagementInjector(new DefaultPluginManagementInjector())
            .setProfileInjector(new DefaultProfileInjector()).setProfileSelector(new DefaultProfileSelector())
            .setReportConfigurationExpander(new DefaultReportConfigurationExpander())
            .setReportingConverter(new DefaultReportingConverter()).setSuperPomProvider(superPomProvider)
            .setModelInterpolator(stringSearchModelInterpolator);
    try {
        return builder.build(req).getEffectiveModel();
    } catch (ModelBuildingException ex) {
        throw new RuntimeException(ex);
    }
}