public MavenProject buildWithDependencies( File pom, ArtifactRepository localRepository, ProfileManager profileManager, TransferListener transferListener ) throws ProjectBuildingException, ArtifactResolutionException, ArtifactNotFoundException { ProjectBuilderConfiguration configuration = new DefaultProjectBuilderConfiguration(); configuration.setLocalRepository( localRepository ); configuration.setGlobalProfileManager( profileManager ); ProjectBuildingRequest request = injectSession( toRequest( configuration ) ); request.setResolveDependencies( true ); try { return projectBuilder.build( pom, request ).getProject(); } catch ( ProjectBuildingException e ) { throw transformError( e ); } }
try { ProjectBuildingRequest request = getProjectBuildingRequest(properties); request.setResolveDependencies(true); synchronized (DependencyResolver.class) { ProjectBuildingResult result = projectBuilder
public List<ProjectBuildingResult> buildProjects(File mavenProject, boolean recursive) throws ProjectBuildingException, MavenEmbedderException { ClassLoader originalCl = Thread.currentThread().getContextClassLoader(); try { 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); } }
public Model readModel(final Resource resource, final Properties properties) { initialize(); try { ProjectBuildingRequest request = getProjectBuildingRequest(properties); request.setResolveDependencies(false); ProjectBuildingResult result = projectBuilder .build(new PropertiesModelSource(properties, resource), request); return result.getProject().getModel(); } catch (Exception e) { throw new IllegalStateException("Failed to build model from effective pom", e); } }
public Model readModel(final Resource resource, final Properties properties) { initialize(); try { ProjectBuildingRequest request = getProjectBuildingRequest(properties); request.setResolveDependencies(false); ProjectBuildingResult result = projectBuilder .build(new PropertiesModelSource(properties, resource), request); return result.getProject().getModel(); } catch (Exception e) { throw new IllegalStateException("Failed to build model from effective pom", e); } }
public List<ProjectBuildingResult> buildProjects( File mavenProject, boolean recursive ) throws ProjectBuildingException, MavenEmbedderException { ClassLoader originalCl = Thread.currentThread().getContextClassLoader(); try { 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 ); } }
public ProjectBuildingResult buildProject(File mavenProject) throws ProjectBuildingException, MavenEmbedderException { ClassLoader originalCl = Thread.currentThread().getContextClassLoader(); try { 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()); return projectBuilder.build(mavenProject, projectBuildingRequest); } catch (ComponentLookupException e) { throw new MavenEmbedderException(e.getMessage(), e); } finally { Thread.currentThread().setContextClassLoader(originalCl); } }
public static MavenProject projectFromArtifact(MavenSession session, ProjectBuilder projectBuilder, Artifact artifact, boolean resolveDependencies) throws ProjectBuildingException { final ProjectBuildingRequest request = new DefaultProjectBuildingRequest() .setLocalRepository(session.getLocalRepository()) .setRepositorySession(session.getRepositorySession()) .setSystemProperties(System.getProperties()) .setResolveDependencies(resolveDependencies); return projectBuilder.build(artifact, request).getProject(); } }
public ProjectBuildingResult buildProject(File mavenProject, MavenExecutionRequest mavenExecutionRequest) throws ProjectBuildingException, ComponentLookupException { ProjectBuilder projectBuilder = lookup(ProjectBuilder.class); ProjectBuildingRequest projectBuildingRequest = mavenExecutionRequest.getProjectBuildingRequest(); RepositorySystemSession repositorySystemSession = buildRepositorySystemSession(mavenExecutionRequest); projectBuildingRequest.setRepositorySession(repositorySystemSession); projectBuildingRequest.setProcessPlugins(false); projectBuildingRequest.setResolveDependencies(true); return projectBuilder.build(mavenProject, projectBuildingRequest); }
private MavenProject getProject( Artifact artifact ) throws MojoExecutionException { try { ProjectBuildingRequest request = new DefaultProjectBuildingRequest(); request.setLocalRepository( localRepository ); request.setRemoteRepositories( remoteRepositories ); request.setResolveDependencies( true ); ArrayList<String> ids = new ArrayList<String>(); for(Profile profile : project.getActiveProfiles()){ ids.add(profile.getId()); } request.setActiveProfileIds(ids); request.setRepositorySession( session.getRepositorySession() ); return projectBuilder.build( artifact, request ).getProject(); } catch ( ProjectBuildingException e ) { getLog().warn( "Failed to retrieve pom for " + artifact ); return null; } }
private MavenProject resolveProject(final Object artifact) throws MojoExecutionException { MavenProject resolvedProject = project; if (includeTransitiveVersionRanges) { resolvedProject = resolvedProjects.get(artifact); if (resolvedProject == null) { final ProjectBuildingRequest request = new DefaultProjectBuildingRequest(); // Fixes KARAF-4626; if the system properties are not transferred to the request, // test-feature-use-version-range-transfer-properties will fail request.setSystemProperties(System.getProperties()); request.setResolveDependencies(true); request.setRemoteRepositories(project.getPluginArtifactRepositories()); request.setLocalRepository(localRepo); request.setProfiles(new ArrayList<>(mavenSession.getRequest().getProfiles())); request.setActiveProfileIds(new ArrayList<>(mavenSession.getRequest().getActiveProfiles())); dependencyHelper.setRepositorySession(request); final Artifact pomArtifact = repoSystem.createArtifact(dependencyHelper.getGroupId(artifact), dependencyHelper.getArtifactId(artifact), dependencyHelper.getBaseVersion(artifact), "pom"); try { resolvedProject = mavenProjectBuilder.build(pomArtifact, request).getProject(); resolvedProjects.put(pomArtifact, resolvedProject); } catch (final ProjectBuildingException e) { throw new MojoExecutionException( format("Maven-project could not be built for artifact %s", pomArtifact), e); } } } return resolvedProject; }
public MavenExecutionResult compileAndGenerateJavadoc(File pom) throws MavenException { try { MavenExecutionRequest request = createExecutionRequest(); lookup(MavenExecutionRequestPopulator.class).populateDefaults(request); request.setPom(pom); ProjectBuildingRequest configuration = request.getProjectBuildingRequest(); configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); configuration.setRepositorySession(createRepositorySession(request)); configuration.setResolveDependencies(true); configuration.setResolveVersionRanges(true); request.setGoals(Arrays.asList(new String[] { "compile", "javadoc:javadoc" })); Properties userProperties = (Properties) request.getUserProperties().clone(); userProperties.put("show", "private"); request.setUserProperties(userProperties); return lookup(Maven.class).execute(request); } catch (MavenExecutionRequestPopulationException e) { throw new MavenException(e); } }
/** * Tries to construct project for the provided artifact * * @param artifact * @return MavenProject for the given artifact * @throws MojoExecutionException */ private MavenProject loadProject( Artifact artifact ) throws MojoExecutionException { try { ProjectBuildingRequest request = new DefaultProjectBuildingRequest(); request.setLocalRepository( localRepository ); request.setRemoteRepositories( remoteRepositories ); request.setResolveDependencies( true ); request.setRepositorySession( session.getRepositorySession() ); return projectBuilder.build( artifact, request ).getProject(); } catch ( ProjectBuildingException ex ) { throw new MojoExecutionException( "Problems building project for: " + artifact.getId(), ex ); } }
public void installGems(final GemsInstaller gemsInstaller, final Object repositorySystemSession) throws IOException, ScriptException, GemException, RailsException { final ArtifactRepository localRepository = localRepository(); final ProjectBuildingRequest pomRequest = new DefaultProjectBuildingRequest().setLocalRepository(localRepository) .setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_STRICT) .setResolveDependencies(true); gemsInstaller.manager.setRepositorySession(pomRequest, repositorySystemSession); MavenProject pom; try { pom = this.builder.build(new File("pom.xml"), pomRequest) .getProject(); } catch (final ProjectBuildingException e) { throw new RailsException("error building the POM", e); } gemsInstaller.installPom(pom); }
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; }
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; }
@Override public MavenProject getProject() { ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest(this.session.getProjectBuildingRequest()); buildingRequest.setRepositorySession(this.session.getRepositorySession()); buildingRequest.setProject(null); buildingRequest.setResolveDependencies(true); buildingRequest.setActiveProfileIds(this.profiles); DefaultArtifact artifact = new DefaultArtifact(this.groupId, this.artifactId, this.version, "compile", this.type, this.classifier, new DefaultArtifactHandler()); try { return this.projectBuilder.build(artifact, buildingRequest).getProject(); } catch (ProjectBuildingException e) { throw new IllegalStateException("Error while creating Maven project from Artifact '" + artifact + "'.", e); } } }
public MavenProject buildModel(final Artifact artifact, final Object repositorySystemSession, final ArtifactRepository localRepository, final List<ArtifactRepository> remoteRepositories, boolean resolve) throws GemException { // build a POM and resolve all artifacts final ProjectBuildingRequest pomRequest = new DefaultProjectBuildingRequest() .setLocalRepository(localRepository) .setRemoteRepositories(remoteRepositories) .setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_STRICT) .setResolveDependencies(resolve); setRepositorySession(pomRequest, repositorySystemSession); try { return this.builder.build(artifact, pomRequest).getProject(); } catch (final ProjectBuildingException e) { throw new GemException("error building POM", e); } }
public MavenProject readProject(final File pomFile, MavenExecutionRequest request, boolean resolveDependencies) throws MavenException { try { lookup(MavenExecutionRequestPopulator.class).populateDefaults(request); ProjectBuildingRequest configuration = request.getProjectBuildingRequest(); configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); configuration.setRepositorySession(createRepositorySession(request)); configuration.setResolveDependencies(resolveDependencies); return lookup(ProjectBuilder.class).build(pomFile, configuration).getProject(); } catch (ProjectBuildingException ex) { throw new MavenException(ex); } catch (MavenExecutionRequestPopulationException ex) { throw new MavenException(ex); } }
public MavenExecutionResult readProjectWithDependencies(MavenExecutionRequest req, boolean useWorkspaceResolution) { if (useWorkspaceResolution) { req.setWorkspaceReader(new NbWorkspaceReader()); } File pomFile = req.getPom(); MavenExecutionResult result = new DefaultMavenExecutionResult(); try { ProjectBuildingRequest configuration = req.getProjectBuildingRequest(); configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); configuration.setResolveDependencies(true); configuration.setRepositorySession(maven.newRepositorySession(req)); ProjectBuildingResult projectBuildingResult = projectBuilder.build(pomFile, configuration); result.setProject(projectBuildingResult.getProject()); result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult()); } catch (ProjectBuildingException ex) { //don't add the exception here. this should come out as a build marker, not fill //the error logs with msgs return result.addException(ex); } normalizePaths(result.getProject()); return result; }