use of org.apache.maven.shared.artifact.filter.collection.FilterArtifacts in project spring-boot by spring-projects.
the class AbstractRunMojo method addDependencies.
private void addDependencies(List<URL> urls) throws MalformedURLException, MojoExecutionException {
FilterArtifacts filters = this.useTestClasspath ? getFilters() : getFilters(new TestArtifactFilter());
Set<Artifact> artifacts = filterDependencies(this.project.getArtifacts(), filters);
for (Artifact artifact : artifacts) {
if (artifact.getFile() != null) {
urls.add(artifact.getFile().toURI().toURL());
}
}
}
use of org.apache.maven.shared.artifact.filter.collection.FilterArtifacts in project maven-dependency-plugin by apache.
the class AbstractResolveMojo method getPluginArtifactsFilter.
/**
* @return {@link FilterArtifacts}
*/
protected FilterArtifacts getPluginArtifactsFilter() {
if (excludeReactor) {
final StringBuilder exAids = new StringBuilder();
if (this.excludeArtifactIds != null) {
exAids.append(this.excludeArtifactIds);
}
for (final MavenProject rp : reactorProjects) {
if (!"maven-plugin".equals(rp.getPackaging())) {
continue;
}
if (exAids.length() > 0) {
exAids.append(",");
}
exAids.append(rp.getArtifactId());
}
this.excludeArtifactIds = exAids.toString();
}
final FilterArtifacts filter = new FilterArtifacts();
// CHECKSTYLE_OFF: LineLength
filter.addFilter(new org.apache.maven.shared.artifact.filter.collection.ScopeFilter(DependencyUtil.cleanToBeTokenizedString(this.includeScope), DependencyUtil.cleanToBeTokenizedString(this.excludeScope)));
// CHECKSTYLE_ON: LineLength
filter.addFilter(new TypeFilter(DependencyUtil.cleanToBeTokenizedString(this.includeTypes), DependencyUtil.cleanToBeTokenizedString(this.excludeTypes)));
filter.addFilter(new ClassifierFilter(DependencyUtil.cleanToBeTokenizedString(this.includeClassifiers), DependencyUtil.cleanToBeTokenizedString(this.excludeClassifiers)));
filter.addFilter(new GroupIdFilter(DependencyUtil.cleanToBeTokenizedString(this.includeGroupIds), DependencyUtil.cleanToBeTokenizedString(this.excludeGroupIds)));
filter.addFilter(new ArtifactIdFilter(DependencyUtil.cleanToBeTokenizedString(this.includeArtifactIds), DependencyUtil.cleanToBeTokenizedString(this.excludeArtifactIds)));
return filter;
}
use of org.apache.maven.shared.artifact.filter.collection.FilterArtifacts in project maven-dependency-plugin by apache.
the class AbstractDependencyFilterMojo method getDependencySets.
/**
* Method creates filters and filters the projects dependencies. This method also transforms the dependencies if
* classifier is set. The dependencies are filtered in least specific to most specific order
*
* @param stopOnFailure true to fail if artifacts can't be resolved false otherwise.
* @param includeParents <code>true</code> if parents should be included or not <code>false</code>.
* @return DependencyStatusSets - Bean of TreeSets that contains information on the projects dependencies
* @throws MojoExecutionException in case of errors.
*/
protected DependencyStatusSets getDependencySets(boolean stopOnFailure, boolean includeParents) throws MojoExecutionException {
// add filters in well known order, least specific to most specific
FilterArtifacts filter = new FilterArtifacts();
filter.addFilter(new ProjectTransitivityFilter(getProject().getDependencyArtifacts(), this.excludeTransitive));
filter.addFilter(new ScopeFilter(DependencyUtil.cleanToBeTokenizedString(this.includeScope), DependencyUtil.cleanToBeTokenizedString(this.excludeScope)));
filter.addFilter(new TypeFilter(DependencyUtil.cleanToBeTokenizedString(this.includeTypes), DependencyUtil.cleanToBeTokenizedString(this.excludeTypes)));
filter.addFilter(new ClassifierFilter(DependencyUtil.cleanToBeTokenizedString(this.includeClassifiers), DependencyUtil.cleanToBeTokenizedString(this.excludeClassifiers)));
filter.addFilter(new GroupIdFilter(DependencyUtil.cleanToBeTokenizedString(this.includeGroupIds), DependencyUtil.cleanToBeTokenizedString(this.excludeGroupIds)));
filter.addFilter(new ArtifactIdFilter(DependencyUtil.cleanToBeTokenizedString(this.includeArtifactIds), DependencyUtil.cleanToBeTokenizedString(this.excludeArtifactIds)));
// start with all artifacts.
Set<Artifact> artifacts = getProject().getArtifacts();
if (includeParents) {
// add dependencies parents
for (Artifact dep : new ArrayList<Artifact>(artifacts)) {
addParentArtifacts(buildProjectFromArtifact(dep), artifacts);
}
// add current project parent
addParentArtifacts(getProject(), artifacts);
}
// perform filtering
try {
artifacts = filter.filter(artifacts);
} catch (ArtifactFilterException e) {
throw new MojoExecutionException(e.getMessage(), e);
}
// transform artifacts if classifier is set
DependencyStatusSets status;
if (StringUtils.isNotEmpty(classifier)) {
status = getClassifierTranslatedDependencies(artifacts, stopOnFailure);
} else {
status = filterMarkedDependencies(artifacts);
}
return status;
}
use of org.apache.maven.shared.artifact.filter.collection.FilterArtifacts in project maven-dependency-plugin by apache.
the class AbstractDependencyFilterMojo method filterMarkedDependencies.
/**
* Filter the marked dependencies
*
* @param artifacts The artifacts set {@link Artifact}.
* @return status set {@link DependencyStatusSets}.
* @throws MojoExecutionException in case of an error.
*/
protected DependencyStatusSets filterMarkedDependencies(Set<Artifact> artifacts) throws MojoExecutionException {
// remove files that have markers already
FilterArtifacts filter = new FilterArtifacts();
filter.clearFilters();
filter.addFilter(getMarkedArtifactFilter());
Set<Artifact> unMarkedArtifacts;
try {
unMarkedArtifacts = filter.filter(artifacts);
} catch (ArtifactFilterException e) {
throw new MojoExecutionException(e.getMessage(), e);
}
// calculate the skipped artifacts
Set<Artifact> skippedArtifacts = new LinkedHashSet<Artifact>();
skippedArtifacts.addAll(artifacts);
skippedArtifacts.removeAll(unMarkedArtifacts);
return new DependencyStatusSets(unMarkedArtifacts, null, skippedArtifacts);
}
use of org.apache.maven.shared.artifact.filter.collection.FilterArtifacts in project maven-dependency-plugin by apache.
the class ResolvePluginsMojo method resolvePluginArtifacts.
/**
* This method resolves the plugin artifacts from the project.
*
* @return set of resolved plugin artifacts.
* @throws ArtifactFilterException in case of an error.
* @throws ArtifactResolverException in case of an error.
*/
protected Set<Artifact> resolvePluginArtifacts() throws ArtifactFilterException, ArtifactResolverException {
final Set<Artifact> plugins = getProject().getPluginArtifacts();
final Set<Artifact> reports = getProject().getReportArtifacts();
Set<Artifact> artifacts = new LinkedHashSet<Artifact>();
artifacts.addAll(reports);
artifacts.addAll(plugins);
final FilterArtifacts filter = getPluginArtifactsFilter();
artifacts = filter.filter(artifacts);
Set<Artifact> resolvedArtifacts = new LinkedHashSet<Artifact>(artifacts.size());
// final ArtifactFilter filter = getPluginFilter();
for (final Artifact artifact : new LinkedHashSet<Artifact>(artifacts)) {
// if ( !filter.include( artifact ) )
// {
// final String logStr =
// String.format( " Plugin SKIPPED: %s", DependencyUtil.getFormattedFileName( artifact, false ) );
//
// if ( !silent )
// {
// this.getLog().info( logStr );
// }
//
// artifacts.remove( artifact );
// continue;
// }
ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest(session.getProjectBuildingRequest());
buildingRequest.setRemoteRepositories(this.remotePluginRepositories);
// resolve the new artifact
resolvedArtifacts.add(getArtifactResolver().resolveArtifact(buildingRequest, artifact).getArtifact());
}
return artifacts;
}
Aggregations