Example usage for org.apache.maven.project ProjectBuildingRequest setValidationLevel

List of usage examples for org.apache.maven.project ProjectBuildingRequest setValidationLevel

Introduction

In this page you can find the example usage for org.apache.maven.project ProjectBuildingRequest setValidationLevel.

Prototype

ProjectBuildingRequest setValidationLevel(int validationLevel);

Source Link

Document

Controls the level of validation to perform on processed models.

Usage

From source file:hudson.maven.MavenEmbedder.java

License:Apache License

public List<ProjectBuildingResult> buildProjects(File mavenProject, boolean recursive)
        throws ProjectBuildingException, MavenEmbedderException {
    ClassLoader originalCl = Thread.currentThread().getContextClassLoader();
    try {/*from  w  w w  .jav a  2s. c om*/
        Thread.currentThread().setContextClassLoader(this.plexusContainer.getContainerRealm());
        ProjectBuilder projectBuilder = lookup(ProjectBuilder.class);
        ProjectBuildingRequest projectBuildingRequest = this.mavenExecutionRequest.getProjectBuildingRequest();

        projectBuildingRequest.setValidationLevel(this.mavenRequest.getValidationLevel());

        RepositorySystemSession repositorySystemSession = buildRepositorySystemSession();

        projectBuildingRequest.setRepositorySession(repositorySystemSession);

        projectBuildingRequest.setProcessPlugins(this.mavenRequest.isProcessPlugins());

        projectBuildingRequest.setResolveDependencies(this.mavenRequest.isResolveDependencies());

        List<ProjectBuildingResult> results = projectBuilder.build(Arrays.asList(mavenProject), recursive,
                projectBuildingRequest);

        return results;
    } catch (ComponentLookupException e) {
        throw new MavenEmbedderException(e.getMessage(), e);
    } finally {
        Thread.currentThread().setContextClassLoader(originalCl);
    }

}

From source file:net.oneandone.maven.embedded.Maven.java

License:Apache License

public MavenProject loadPom(FileNode file, boolean resolve, Properties userProperties, List<String> profiles,
        List<Dependency> dependencies) throws RepositoryException, ProjectBuildingException {
    ProjectBuildingRequest request;
    ProjectBuildingResult result;/* w ww  .  jav a  2  s. c  om*/
    List<Exception> problems;

    request = new DefaultProjectBuildingRequest();
    request.setRepositorySession(repositorySession);
    request.setRemoteRepositories(remoteLegacy);
    request.setProcessPlugins(false);
    request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    request.setSystemProperties(System.getProperties());
    if (userProperties != null) {
        request.setUserProperties(userProperties);
    }
    // If you don't turn this into RepositoryMerging.REQUEST_DOMINANT the dependencies will be resolved against Maven Central
    // and not against the configured repositories. The default of the DefaultProjectBuildingRequest is
    // RepositoryMerging.POM_DOMINANT.
    request.setRepositoryMerging(ProjectBuildingRequest.RepositoryMerging.REQUEST_DOMINANT);
    request.setResolveDependencies(resolve);
    if (profiles != null) {
        request.setActiveProfileIds(profiles);
    }
    result = builder.build(file.toPath().toFile(), request);

    // TODO: i've seen these collection errors for a dependency with ranges. Why does Aether NOT throw an exception in this case?
    if (result.getDependencyResolutionResult() != null) {
        problems = result.getDependencyResolutionResult().getCollectionErrors();
        if (problems != null && !problems.isEmpty()) {
            throw new RepositoryException("collection errors: " + problems.toString(), problems.get(0));
        }
    }

    if (dependencies != null) {
        if (!resolve) {
            throw new IllegalArgumentException();
        }
        dependencies.addAll(result.getDependencyResolutionResult().getDependencies());
    }
    return result.getProject();
}

From source file:net.oneandone.maven.plugins.prerelease.util.Maven.java

License:Apache License

public MavenProject loadPom(FileNode file) throws ProjectBuildingException {
    ProjectBuildingRequest request;
    ProjectBuildingResult result;//from   www .  j  a  v  a 2s .co  m

    // session initializes the repository session in the build request
    request = new DefaultProjectBuildingRequest(parentSession.getProjectBuildingRequest());
    request.setRemoteRepositories(remoteRepositories);
    request.setProcessPlugins(false);
    request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    request.setSystemProperties(System.getProperties());
    //If you don't turn this into RepositoryMerging.REQUEST_DOMINANT the dependencies will be resolved against Maven Central
    //and not against the configured repositories. The default of the DefaultProjectBuildingRequest is
    // RepositoryMerging.POM_DOMINANT.
    request.setRepositoryMerging(ProjectBuildingRequest.RepositoryMerging.REQUEST_DOMINANT);
    request.setResolveDependencies(false);
    result = builder.build(file.toPath().toFile(), request);
    return result.getProject();
}

From source file:org.appformer.maven.integration.embedder.MavenEmbedder.java

License:Apache License

private ProjectBuildingRequest getProjectBuildingRequest() throws ComponentLookupException {
    ProjectBuildingRequest projectBuildingRequest = this.mavenExecutionRequest.getProjectBuildingRequest();
    projectBuildingRequest.setValidationLevel(this.mavenRequest.getValidationLevel());
    RepositorySystemSession repositorySystemSession = componentProvider
            .getRepositorySystemSession(mavenExecutionRequest);
    projectBuildingRequest.setRepositorySession(repositorySystemSession);
    projectBuildingRequest.setProcessPlugins(this.mavenRequest.isProcessPlugins());
    projectBuildingRequest.setResolveDependencies(this.mavenRequest.isResolveDependencies());
    return projectBuildingRequest;
}

From source file:org.debian.dependency.DefaultDependencyCollection.java

License:Apache License

private MavenProject buildProject(final String groupId, final String artifactId, final String version,
        final MavenSession session) throws DependencyResolutionException {
    Artifact artifact = repositorySystem.createProjectArtifact(groupId, artifactId, version);

    ProjectBuildingRequest request = new DefaultProjectBuildingRequest(session.getProjectBuildingRequest());
    request.setActiveProfileIds(null);//ww w  . j a va  2s  .co m
    request.setInactiveProfileIds(null);
    request.setProfiles(null);
    request.setResolveDependencies(false); // we may filter them out
    request.setUserProperties(null);
    request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);

    try {
        ProjectBuildingResult result = projectBuilder.build(artifact, request);
        return result.getProject();
    } catch (ProjectBuildingException e) {
        throw new DependencyResolutionException(e);
    }
}

From source file:org.echocat.jomon.maven.boot.ArtifactFactory.java

License:Mozilla Public License

@Nonnull
protected MavenProject createProjectFor() throws ProjectBuildingException {
    final MavenExecutionRequest request = _containerAndRequest.getRequest();
    final ProjectBuildingRequest projectBuildingRequest = request.getProjectBuildingRequest();
    projectBuildingRequest.setValidationLevel(VALIDATION_LEVEL_MINIMAL);
    final ProjectBuildingResult build = _projectBuilder.build(createModelSource(), projectBuildingRequest);
    return build.getProject();
}

From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java

License:Open Source License

public MavenProject readProject(final File pomFile, IProgressMonitor monitor) throws CoreException {
    return context().execute(new ICallable<MavenProject>() {
        public MavenProject call(IMavenExecutionContext context, IProgressMonitor monitor)
                throws CoreException {
            MavenExecutionRequest request = DefaultMavenExecutionRequest.copy(context.getExecutionRequest());
            try {
                lookup(MavenExecutionRequestPopulator.class).populateDefaults(request);
                ProjectBuildingRequest configuration = request.getProjectBuildingRequest();
                configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
                configuration.setRepositorySession(createRepositorySession(request));
                return lookup(ProjectBuilder.class).build(pomFile, configuration).getProject();
            } catch (ProjectBuildingException ex) {
                throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1,
                        Messages.MavenImpl_error_read_project, ex));
            } catch (MavenExecutionRequestPopulationException ex) {
                throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1,
                        Messages.MavenImpl_error_read_project, ex));
            }//ww w  . j  a  v a 2 s .  co m
        }
    }, monitor);
}

From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java

License:Open Source License

@Deprecated
/*package*/MavenExecutionResult readMavenProject(File pomFile, RepositorySystemSession repositorySession,
        MavenExecutionRequest request) throws CoreException {
    ProjectBuildingRequest configuration = request.getProjectBuildingRequest();
    configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    configuration.setRepositorySession(repositorySession);
    return readMavenProject(pomFile, configuration);
}

From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java

License:Open Source License

public MavenExecutionResult readMavenProject(File pomFile, ProjectBuildingRequest configuration)
        throws CoreException {
    long start = System.currentTimeMillis();

    log.debug("Reading Maven project: {}", pomFile.getAbsoluteFile()); //$NON-NLS-1$
    MavenExecutionResult result = new DefaultMavenExecutionResult();
    try {//from w  ww .j av  a2 s. com
        configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
        ProjectBuildingResult projectBuildingResult = lookup(ProjectBuilder.class).build(pomFile,
                configuration);
        result.setProject(projectBuildingResult.getProject());
        result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult());
    } catch (ProjectBuildingException ex) {
        if (ex.getResults() != null && ex.getResults().size() == 1) {
            ProjectBuildingResult projectBuildingResult = ex.getResults().get(0);
            result.setProject(projectBuildingResult.getProject());
            result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult());
        }
        result.addException(ex);
    } finally {
        log.debug("Read Maven project: {} in {} ms", pomFile.getAbsoluteFile(), //$NON-NLS-1$
                System.currentTimeMillis() - start);
    }
    return result;
}

From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java

License:Open Source License

MavenProject resolveParentProject(RepositorySystemSession repositorySession, MavenProject child,
        ProjectBuildingRequest configuration) throws CoreException {
    configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    configuration.setRepositorySession(repositorySession);

    try {// www. j  av  a2 s. c om
        configuration.setRemoteRepositories(child.getRemoteArtifactRepositories());

        File parentFile = child.getParentFile();
        if (parentFile != null) {
            return lookup(ProjectBuilder.class).build(parentFile, configuration).getProject();
        }

        Artifact parentArtifact = child.getParentArtifact();
        if (parentArtifact != null) {
            return lookup(ProjectBuilder.class).build(parentArtifact, configuration).getProject();
        }
    } catch (ProjectBuildingException ex) {
        log.error("Could not read parent project", ex);
    }

    return null;
}