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

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

Introduction

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

Prototype

ModelBuildingRequest setValidationLevel(int validationLevel);

Source Link

Document

Sets the level of validation to perform on processed models.

Usage

From source file:biz.itcf.maven.plugins.dependencytransfer.TransferMojo.java

License:Apache License

private ArtifactResult resolveParent(Artifact pomArtifact) throws MojoFailureException {
    try {/*from  w  w w.ja va 2  s  .co  m*/
        ModelBuildingRequest buildingRequest = new DefaultModelBuildingRequest();
        buildingRequest.setModelResolver(new AvailableModelResolver(repoSession, null, null, artifactResolver,
                remoteRepositoryManager, projectRepos));
        buildingRequest.setPomFile(pomArtifact.getFile());
        buildingRequest.setTwoPhaseBuilding(false);
        buildingRequest.setSystemProperties(System.getProperties());
        buildingRequest.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);

        ModelBuildingResult build = modelBuilder.build(buildingRequest);
        Parent dependencyParent = build.getRawModel().getParent();
        if (dependencyParent != null) {
            ArtifactRequest parentArtifactRequest = new ArtifactRequest();
            parentArtifactRequest.setArtifact(new DefaultArtifact(dependencyParent.getGroupId(),
                    dependencyParent.getArtifactId(), "pom", dependencyParent.getVersion()));
            parentArtifactRequest.setRepositories(projectRepos);
            return repoSystem.resolveArtifact(repoSession, parentArtifactRequest);
        } else {
            return null;
        }
    } catch (ArtifactResolutionException e) {
        throw new MojoFailureException("Could not resolve parent artifact.", e);
    } catch (ModelBuildingException e) {
        throw new MojoFailureException("Could not build Maven model for given artifact.", e);
    }
}

From source file:com.buschmais.jqassistant.plugin.m2repo.impl.scanner.EffectiveModelBuilder.java

@Override
public Model getModel(final File pomFile) throws IOException {
    DefaultModelBuilder builder = new DefaultModelBuilderFactory().newInstance();
    ModelBuildingRequest req = new DefaultModelBuildingRequest();
    req.setProcessPlugins(false);//  www.  j av  a2  s.com
    req.setPomFile(pomFile);
    req.setModelResolver(modelResolver);
    req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    req.setSystemProperties(System.getProperties());
    builder.setModelValidator(new ModelValidatorImpl());
    try {
        return builder.build(req).getEffectiveModel();
    } catch (ModelBuildingException e) {
        LOGGER.warn("Cannot build effective model for " + pomFile.getAbsolutePath(), e);
        return new EffectiveModel(rawModelBuilder.getModel(pomFile));
    }
}

From source file:com.github.nethad.clustermeister.provisioning.dependencymanager.MavenRepositorySystem.java

License:Apache License

/**
 * Resolve the effective Maven model (pom) for a POM file.
 * /*from  w w  w . jav  a2s  . com*/
 * This resolves the POM hierarchy (parents and modules) and creates an 
 * overall model.
 * 
 * @param pom the POM file to resolve.
 * @return the effective model.
 */
protected Model getEffectiveModel(File pom) {
    ModelBuildingRequest req = new DefaultModelBuildingRequest();
    req.setProcessPlugins(false);
    req.setPomFile(pom);
    req.setModelResolver(new SimpleModelResolver(repositorySystem, createSession(),
            getRepositories(Collections.EMPTY_LIST)));
    req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);

    ModelBuilder builder = new DefaultModelBuilderFactory().newInstance();
    try {
        return builder.build(req).getEffectiveModel();
    } catch (ModelBuildingException ex) {
        logger.warn("Could not build maven model.", ex);
    }

    return new Model();
}

From source file:com.tobedevoured.naether.maven.Project.java

License:Apache License

/**
 * Load Maven pom//from   w  ww .j av  a  2  s  . c  o  m
 *
 * @param pomPath String path
 * @param localRepo String
 * @param repositories {@link Collection<RemoteRepository>}
 * @return {@link Model}
 * @throws ProjectException if fails to open, read, or parse the POM
 */
public static Model loadPOM(String pomPath, String localRepo, Collection<RemoteRepository> repositories)
        throws ProjectException {
    RepositoryClient repoClient = new RepositoryClient(localRepo);
    NaetherModelResolver resolver = new NaetherModelResolver(repoClient, repositories);

    ModelBuildingRequest req = new DefaultModelBuildingRequest();
    req.setProcessPlugins(false);
    req.setPomFile(new File(pomPath));
    req.setModelResolver(resolver);
    req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);

    DefaultModelBuilder builder = (new DefaultModelBuilderFactory()).newInstance();
    try {
        return builder.build(req).getEffectiveModel();
    } catch (ModelBuildingException e) {
        throw new ProjectException("Failed to build project from pom", e);
    }
}

From source file:fr.inria.spirals.repairnator.process.maven.MavenHelper.java

public static Model readPomXml(File pomXml, String localMavenRepository) {
    ModelBuildingRequest req = new DefaultModelBuildingRequest();
    req.setProcessPlugins(true);/*from   www  . j  av a 2s.c  om*/
    req.setPomFile(pomXml);
    req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    req.setModelResolver(new RepositoryModelResolver(localMavenRepository));

    DefaultModelBuilder defaultModelBuilder = new DefaultModelBuilderFactory().newInstance();

    // we try to build the model, and if we fail, we try to get the raw model
    try {
        ModelBuildingResult modelBuildingResult = defaultModelBuilder.build(req);
        return modelBuildingResult.getEffectiveModel();
    } catch (ModelBuildingException e) {
        LOGGER.error("Error while building complete model. The raw model will be used. Error message: "
                + e.getMessage());
        return defaultModelBuilder.buildRawModel(pomXml, ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL, true)
                .get();
    }

}

From source file:io.tesla.aether.internal.DefaultTeslaAether.java

License:Open Source License

public Model resolveModel(File pom) throws ModelBuildingException {

    RequestTrace trace = new RequestTrace(pom);
    ModelBuildingRequest modelRequest = new DefaultModelBuildingRequest();
    modelRequest.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    modelRequest.setProcessPlugins(false);
    modelRequest.setTwoPhaseBuilding(false);
    modelRequest.setSystemProperties(toProperties(session.getUserProperties(), session.getSystemProperties()));
    ////from w w  w .jav  a 2 s . com
    // The model cache and default model resolver should be injected
    //
    modelRequest.setModelCache(new DefaultModelCache());
    modelRequest.setModelResolver(new DefaultModelResolver(session, trace.newChild(modelRequest), "bithub",
            artifactResolver, remoteRepositoryManager, remoteRepositories));
    modelRequest.setPomFile(pom);
    return modelBuilder.build(modelRequest).getEffectiveModel();
}

From source file:org.jboss.maven.extension.dependency.resolver.EffectiveModelBuilder.java

License:Apache License

/**
 * Build the effective model for the given pom file
 *
 * @param pomFile/*from   w w w  .  j a v  a  2s  . co  m*/
 * @return effective pom model
 * @throws ModelBuildingException
 */
private Model buildModel(File pomFile, ModelResolver modelResolver) throws ModelBuildingException {
    ModelBuildingRequest request = new DefaultModelBuildingRequest();
    request.setPomFile(pomFile);
    request.setModelResolver(modelResolver);
    request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0);
    request.setTwoPhaseBuilding(false); // Resolve the complete model in one step
    request.setSystemProperties(System.getProperties());
    ModelBuildingResult result = modelBuilder.build(request);
    return result.getEffectiveModel();
}

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 .  ja  va 2 s  .co m
    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 ww w.j a  va2 s.  c o  m
     * 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  w w  .j a  v  a  2s .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;
}