/** * @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 getProjectBuildingRequest( AssemblerConfigurationSource configSource ) { return configSource.getMavenSession().getProjectBuildingRequest(); }
/** * Creates the local repository for the integration tests. If the user specified a custom repository location, the * custom repository will have the same identifier, layout and policies as the real local repository. That means * apart from the location, the custom repository will be indistinguishable from the real repository such that its * usage is transparent to the integration tests. * * @return The local repository for the integration tests, never <code>null</code>. * @throws MojoExecutionException If the repository could not be created. */ private void createTestRepository() throws MojoExecutionException { if ( !localRepositoryPath.exists() && !localRepositoryPath.mkdirs() ) { throw new MojoExecutionException( "Failed to create directory: " + localRepositoryPath ); } projectBuildingRequest = repositoryManager.setLocalRepositoryBasedir( session.getProjectBuildingRequest(), localRepositoryPath ); }
/** * @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; }
private MavenProject buildProjectFromArtifact( Artifact artifact ) throws MojoExecutionException { try { return projectBuilder.build( artifact, session.getProjectBuildingRequest() ).getProject(); } catch ( ProjectBuildingException e ) { throw new MojoExecutionException( e.getMessage(), e ); } }
@Mojo(name = "foo", requiresDependencyResolution = ResolutionScope.RUNTIME) public class MyMojo extends AbstractMojo { @Parameter(defaultValue = "${project}", readonly = true, required = true) private MavenProject project; @Parameter(defaultValue = "${session}", readonly = true, required = true) private MavenSession session; @Component private ProjectBuilder projectBuilder; public void execute() throws MojoExecutionException, MojoFailureException { ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest(session.getProjectBuildingRequest()); try { for (Artifact artifact : project.getArtifacts()) { buildingRequest.setProject(null); MavenProject mavenProject = projectBuilder.build(artifact, buildingRequest).getProject(); System.out.println(mavenProject.getName()); } } catch (ProjectBuildingException e) { throw new MojoExecutionException("Error while building project", e); } } }
/** * Construct a SourceResolverConfig for resolving dependency sources and resources in a consistent * way, so it can be reused for both source and resource resolution. * * @since 2.7 */ private SourceResolverConfig getDependencySourceResolverConfig() { return configureDependencySourceResolution( new SourceResolverConfig( project, session.getProjectBuildingRequest(), sourceDependencyCacheDir ).withReactorProjects( reactorProjects ) ); }
@Parameter( defaultValue = "${project}", readonly = true ) private MavenProject project; @Component private RepositorySystem repositorySystem; @Component private ProjectBuilder mavenProjectBuilder; @Parameter( defaultValue = "${session}", readonly = true ) private MavenSession session; private MavenProject getMavenProject(String groupId, String artifactId, String version) throws ProjectBuildingException { Artifact pomArtifact = repositorySystem.createProjectArtifact(groupId, artifactId, version); ProjectBuildingResult build = mavenProjectBuilder.build(pomArtifact, session.getProjectBuildingRequest()); return build.getProject(); }
private void unpackAgent() { try { Artifact artifact = artifactResolver.resolveArtifact(session.getProjectBuildingRequest(), getAgentArtifactCoordinate()).getArtifact(); getTargetDirectory().mkdirs(); UnArchiver unArchiver = archiverManager.getUnArchiver(artifact.getType()); unArchiver.setSourceFile(artifact.getFile()); unArchiver.setDestDirectory(getTargetDirectory()); unArchiver.setFileSelectors(getAgentBinaryFileSelector()); unArchiver.extract(); } catch (ArtifactResolverException | NoSuchArchiverException e) { throw new RuntimeException(e); } }
@Override public ProjectBuildingRequest getProjectBuildingRequest() { ProjectBuildingRequest pbr = new DefaultProjectBuildingRequest( configSource.getMavenSession().getProjectBuildingRequest() ); pbr.setRemoteRepositories( getProject().getRemoteArtifactRepositories() ); return pbr; } }
public void execute() throws MojoExecutionException { Archetype archetype = new Archetype(); archetype.setGroupId( project.getGroupId() ); archetype.setArtifactId( project.getArtifactId() ); archetype.setVersion( project.getVersion() ); if ( StringUtils.isNotEmpty( project.getDescription() ) ) { archetype.setDescription( project.getDescription() ); } else { archetype.setDescription( project.getName() ); } manager.updateLocalCatalog( session.getProjectBuildingRequest(), archetype ); } }
public void execute() throws MojoExecutionException { Archetype archetype = new Archetype(); archetype.setGroupId( project.getGroupId() ); archetype.setArtifactId( project.getArtifactId() ); archetype.setVersion( project.getVersion() ); if ( StringUtils.isNotEmpty( project.getDescription() ) ) { archetype.setDescription( project.getDescription() ); } else { archetype.setDescription( project.getName() ); } manager.updateLocalCatalog( session.getProjectBuildingRequest(), archetype ); } }
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(); }
@Override public void executeReport( Locale locale ) { PluginManagementRenderer r = new PluginManagementRenderer( getLog(), getSink(), locale, getI18N( locale ), project.getPluginManagement().getPlugins(), project, projectBuilder, repositorySystem, getSession().getProjectBuildingRequest() ); r.render(); }
@Override public void executeReport( Locale locale ) { PluginsRenderer r = new PluginsRenderer( getLog(), getSink(), locale, getI18N( locale ), project.getBuildPlugins(), project.getReportPlugins(), project, projectBuilder, repositorySystem, getSession().getProjectBuildingRequest() ); r.render(); }
private ModelBuildingRequest createModelBuildingRequest( File pomFile ) { FlattenModelResolver resolver = new FlattenModelResolver( this.localRepository, this.artifactFactory, this.dependencyResolver, this.session.getProjectBuildingRequest(), this.session.getAllProjects() ); Properties userProperties = this.session.getUserProperties(); List<String> activeProfiles = this.session.getRequest().getActiveProfiles(); // @formatter:off ModelBuildingRequest buildingRequest = new DefaultModelBuildingRequest().setUserProperties( userProperties ).setSystemProperties( System.getProperties() ).setPomFile( pomFile ).setModelResolver( resolver ).setActiveProfileIds( activeProfiles ); // @formatter:on return buildingRequest; }
@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); } } }
/** * creates an {@link Artifact} representing the configured {@link JavadocPathArtifact} and resolves it. * * @param javadocArtifact the {@link JavadocPathArtifact} to resolve * @return a resolved {@link Artifact} * @throws ArtifactResolverException */ private Artifact createAndResolveArtifact( JavadocPathArtifact javadocArtifact ) throws ArtifactResolverException { DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate(); coordinate.setGroupId( javadocArtifact.getGroupId() ); coordinate.setArtifactId( javadocArtifact.getArtifactId() ); coordinate.setVersion( javadocArtifact.getVersion() ); return artifactResolver.resolveArtifact( session.getProjectBuildingRequest(), coordinate ).getArtifact(); }
@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(); }