/** * @return Returns a new ProjectBuildingRequest populated from the current * session and the current project remote repositories, used to resolve * artifacts. */ public ProjectBuildingRequest newResolveArtifactProjectBuildingRequest() { final ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest(session.getProjectBuildingRequest()); buildingRequest.setRemoteRepositories(remoteRepositories); return buildingRequest; }
private ProjectBuildingRequest injectSession( ProjectBuildingRequest request ) { MavenSession session = legacySupport.getSession(); if ( session != null ) { request.setRepositorySession( session.getRepositorySession() ); request.setSystemProperties( session.getSystemProperties() ); if ( request.getUserProperties().isEmpty() ) { request.setUserProperties( session.getUserProperties() ); } MavenExecutionRequest req = session.getRequest(); if ( req != null ) { request.setRemoteRepositories( req.getRemoteRepositories() ); } } else { Properties props = new Properties(); EnvironmentUtils.addEnvVars( props ); props.putAll( System.getProperties() ); request.setSystemProperties( props ); } return request; }
public MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories, ProjectBuilderConfiguration configuration, boolean allowStubModel ) throws ProjectBuildingException { ProjectBuildingRequest request = injectSession( toRequest( configuration ) ); request.setRemoteRepositories( normalizeToArtifactRepositories( remoteRepositories, request ) ); request.setProcessPlugins( false ); request.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); try { return projectBuilder.build( artifact, allowStubModel, request ).getProject(); } catch ( ProjectBuildingException e ) { throw transformError( e ); } }
projectBuildingRequest.setRemoteRepositories( project.getRemoteArtifactRepositories() ); if ( parentPomFile != null )
configuration.setRemoteRepositories( repositoryRequest.getRemoteRepositories() ); configuration.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL ); configuration.setProcessPlugins( false );
@Override public ProjectBuildingRequest getProjectBuildingRequest() { if ( projectBuildingRequest == null ) { projectBuildingRequest = new DefaultProjectBuildingRequest(); projectBuildingRequest.setLocalRepository( getLocalRepository() ); projectBuildingRequest.setSystemProperties( getSystemProperties() ); projectBuildingRequest.setUserProperties( getUserProperties() ); projectBuildingRequest.setRemoteRepositories( getRemoteRepositories() ); projectBuildingRequest.setPluginArtifactRepositories( getPluginArtifactRepositories() ); projectBuildingRequest.setActiveProfileIds( getActiveProfiles() ); projectBuildingRequest.setInactiveProfileIds( getInactiveProfiles() ); projectBuildingRequest.setProfiles( getProfiles() ); projectBuildingRequest.setProcessPlugins( true ); projectBuildingRequest.setBuildStartTime( getStartTime() ); } return projectBuildingRequest; }
/** * @return Returns a new ProjectBuildingRequest populated from the current session and the current project remote * repositories, used to resolve artifacts. */ public ProjectBuildingRequest newResolveArtifactProjectBuildingRequest() { ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest( session.getProjectBuildingRequest() ); buildingRequest.setRemoteRepositories( remoteRepositories ); return buildingRequest; }
/** * @param artifact not null * @throws ArtifactResolverException if any */ public void resolve( Artifact artifact ) throws ArtifactResolverException { List<ArtifactRepository> repos = new ArrayList<>( pluginRepositories.size() + remoteRepositories.size() ); repos.addAll( pluginRepositories ); repos.addAll( remoteRepositories ); ProjectBuildingRequest buildRequest = new DefaultProjectBuildingRequest( buildingRequest ); buildRequest.setRemoteRepositories( repos ); ArtifactResult result = resolver.resolveArtifact( buildRequest , artifact ); artifact.setFile( result.getArtifact().getFile() ); }
@Override public ProjectBuildingRequest getProjectBuildingRequest() { ProjectBuildingRequest pbr = new DefaultProjectBuildingRequest( configSource.getMavenSession().getProjectBuildingRequest() ); pbr.setRemoteRepositories( getProject().getRemoteArtifactRepositories() ); return pbr; } }
private MavenProject load(ArtifactInfo ai) { try { Artifact projectArtifact = embedder.createArtifact(ai.groupId, ai.artifactId, ai.version, ai.packaging != null ? ai.packaging : "jar"); ProjectBuildingRequest dpbr = embedder.createMavenExecutionRequest().getProjectBuildingRequest(); //mkleint: remote repositories don't matter we use project embedder. dpbr.setRemoteRepositories(remoteRepos); dpbr.setProcessPlugins(false); dpbr.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); ProjectBuildingResult res = embedder.buildProject(projectArtifact, dpbr); if (res.getProject() != null) { return res.getProject(); } else { LOG.log(Level.FINER, "No project model from repository for {0}: {1}", new Object[] {ai, res.getProblems()}); } } catch (ProjectBuildingException ex) { LOG.log(Level.FINER, "Failed to load project model from repository for {0}: {1}", new Object[] {ai, ex}); } catch (Exception exception) { LOG.log(Level.FINER, "Failed to load project model from repository for " + ai, exception); } return null; }
private File getArchetypeFile( String groupId, String artifactId, String version ) throws ArtifactResolverException { ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest( session.getProjectBuildingRequest() ); if ( localRepository != null ) { buildingRequest = buildingRequest.setLocalRepository( localRepository ); } if ( remoteRepositories != null && !remoteRepositories.isEmpty() ) { buildingRequest = buildingRequest.setRemoteRepositories( remoteRepositories ); } DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate(); coordinate.setGroupId( groupId ); coordinate.setArtifactId( artifactId ); coordinate.setVersion( version ); return artifactResolver.resolveArtifact( buildingRequest, coordinate ).getArtifact().getFile(); }
private File getArchetypeFile( String groupId, String artifactId, String version ) throws ArtifactResolverException { ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest( session.getProjectBuildingRequest() ); if ( localRepository != null ) { buildingRequest = buildingRequest.setLocalRepository( localRepository ); } if ( remoteRepositories != null && !remoteRepositories.isEmpty() ) { buildingRequest = buildingRequest.setRemoteRepositories( remoteRepositories ); } DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate(); coordinate.setGroupId( groupId ); coordinate.setArtifactId( artifactId ); coordinate.setVersion( version ); return artifactResolver.resolveArtifact( buildingRequest, coordinate ).getArtifact().getFile(); }
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; }
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; } }
/** * 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 ); } }
pbr.setRemoteRepositories(oldSession.getCurrentProject().getRemoteArtifactRepositories()); pbr.setPluginArtifactRepositories(oldSession.getCurrentProject().getPluginArtifactRepositories());
private MavenProject getPluginProject() throws ProjectBuildingException { final Artifact pluginArtifact = findArtifact(this.project.getPluginArtifacts(), "org.grails", "grails-maven-plugin"); DefaultProjectBuildingRequest request = new DefaultProjectBuildingRequest(); request.setLocalRepository(localRepository) .setRemoteRepositories(project.getRemoteArtifactRepositories()) .setPluginArtifactRepositories(project.getPluginArtifactRepositories()) .setRepositoryMerging(ProjectBuildingRequest.RepositoryMerging.REQUEST_DOMINANT); return projectBuilder.build(pluginArtifact, request).getProject(); }
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); } }
@Override public synchronized void initializeSessionComponents( final ProjectToolsSession session ) throws ProjectToolsException { if ( session.isInitialized() ) { return; } RepositorySystemSession rss = getRepositorySystemSession( session ); MavenSession mavenSession = new MavenSession( container, rss, session.getExecutionRequest(), session.getExecutionResult() ); legacySupport.setSession( mavenSession ); List<ArtifactRepository> artifactRepos = getArtifactRepositories( session.getRepositoryDefinitionsForResolution(), rss ); List<RemoteRepository> remoteRepositories = getRemoteRepositories( rss, artifactRepos ); ProjectBuildingRequest pbr = getProjectBuildingRequest( session, rss, artifactRepos ); pbr = pbr.setRemoteRepositories( artifactRepos ); pbr.setRepositorySession( rss ); session.initialize( rss, pbr, artifactRepos, remoteRepositories ); }
@Override public void executeReport( Locale locale ) { ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest( getSession().getProjectBuildingRequest() ); buildingRequest.setLocalRepository( localRepository ); buildingRequest.setRemoteRepositories( remoteRepositories ); RepositoryUtils repoUtils = new RepositoryUtils( getLog(), projectBuilder, repositorySystem, resolver, project.getRemoteArtifactRepositories(), project.getPluginArtifactRepositories(), buildingRequest, repositoryMetadataManager ); DependencyManagementRenderer r = new DependencyManagementRenderer( getSink(), locale, getI18N( locale ), getLog(), getManagementDependencies(), artifactMetadataSource, repositorySystem, projectBuilder, buildingRequest, repoUtils ); r.render(); }