public DefaultProjectBuildingRequest( ProjectBuildingRequest request ) { this(); setProcessPlugins( request.isProcessPlugins() ); setProfiles( request.getProfiles() ); setActiveProfileIds( request.getActiveProfileIds() ); setInactiveProfileIds( request.getInactiveProfileIds() ); setSystemProperties( request.getSystemProperties() ); setUserProperties( request.getUserProperties() ); setRemoteRepositories( request.getRemoteRepositories() ); setPluginArtifactRepositories( request.getPluginArtifactRepositories() ); setRepositorySession( request.getRepositorySession() ); setLocalRepository( request.getLocalRepository() ); setBuildStartTime( request.getBuildStartTime() ); setProject( request.getProject() ); setResolveDependencies( request.isResolveDependencies() ); setValidationLevel( request.getValidationLevel() ); }
/** * Resolve a given artifact with its dependencies * * @param session * @param project * @param pomArtifact * @return Optional.of(MavenProject) if the maven project for the given artifact and session can be resolved. * Optional.empty() otherwise */ public Optional<MavenProject> loadMavenProject(MavenSession session, MavenProject project, Artifact pomArtifact) throws MojoExecutionException { try { ProjectBuilder projectBuilder = session.getContainer().lookup(ProjectBuilder.class); ProjectBuildingRequest request = new DefaultProjectBuildingRequest(project.getProjectBuildingRequest()) .setRemoteRepositories(project.getRemoteArtifactRepositories()); return Optional.ofNullable(projectBuilder.build(pomArtifact, request).getProject()); } catch (ComponentLookupException e) { throw new MojoExecutionException("Could not get the ProjectBuilder from the maven session", e); } catch (ProjectBuildingException e) { throw new MojoExecutionException(String.format("Could not build the MavenProject for %s", pomArtifact), e); } } }
projectBuildingRequest.setRepositoryMerging(RepositoryMerging.REQUEST_DOMINANT); projectBuildingRequest .setRemoteRepositories(mavenRepositories(settings, session, properties)); projectBuildingRequest.setRemoteRepositories(mavenRepositories(settings, session, projectBuildingRequest.getRemoteRepositories())); projectBuildingRequest.setLocalRepository(
private ProjectBuildingRequest getProjectBuildingRequest(Properties properties) throws NoLocalRepositoryManagerException { DefaultProjectBuildingRequest projectBuildingRequest = new DefaultProjectBuildingRequest(); DefaultRepositorySystemSession session = createSession(properties); projectBuildingRequest.setRepositoryMerging(RepositoryMerging.REQUEST_DOMINANT); projectBuildingRequest.setRemoteRepositories(mavenRepositories(properties)); projectBuildingRequest.getRemoteRepositories() .addAll(mavenRepositories(settings)); projectBuildingRequest.setRepositorySession(session); projectBuildingRequest.setProcessPlugins(false); projectBuildingRequest.setBuildStartTime(new Date()); projectBuildingRequest.setUserProperties(properties); projectBuildingRequest.setSystemProperties(System.getProperties()); return projectBuildingRequest; }
private ProjectBuildingResult loadMavenProject() throws ProjectBuildingException { DefaultProjectBuildingRequest request = new DefaultProjectBuildingRequest(); request.setRepositorySession(repoSession); request.setUserProperties(session.getUserProperties()); request.setSystemProperties(session.getSystemProperties()); request.setProfiles(session.getRequest().getProfiles()); request.setActiveProfileIds(session.getRequest().getActiveProfiles()); request.setRemoteRepositories(session.getRequest().getRemoteRepositories()); request.setBuildStartTime(session.getRequest().getStartTime()); request.setInactiveProfileIds(session.getRequest().getInactiveProfiles()); request.setPluginArtifactRepositories(session.getRequest().getPluginArtifactRepositories()); request.setLocalRepository(session.getRequest().getLocalRepository()); return projectBuilder.build(project.getFile(), request); }