use of org.apache.maven.shared.artifact.filter.resolve.PatternExclusionsFilter in project maven-plugins by apache.
the class PurgeLocalRepositoryMojo method createPurgeArtifactsFilter.
/**
* Create the includes exclude filter to use when resolving and purging dependencies Also excludes any "system"
* scope dependencies
*
* @param dependencyArtifacts The dependency artifacts to use as a reference if we're excluding transitive
* dependencies
* @return the created filter
*/
private TransformableFilter createPurgeArtifactsFilter(Set<Artifact> dependencyArtifacts) {
List<TransformableFilter> subFilters = new ArrayList<TransformableFilter>();
// System dependencies should never be purged
subFilters.add(ScopeFilter.excluding(Artifact.SCOPE_SYSTEM));
if (this.snapshotsOnly) {
subFilters.add(new SnapshotsFilter());
}
// The CLI includes/excludes overrides configuration in the pom
if (!StringUtils.isEmpty(this.include)) {
this.includes = parseIncludes(this.include);
}
if (this.includes != null) {
subFilters.add(new PatternInclusionsFilter(includes));
}
if (!StringUtils.isEmpty(this.exclude)) {
this.excludes = parseIncludes(this.exclude);
}
if (this.excludes != null) {
subFilters.add(new PatternExclusionsFilter(excludes));
}
if (!actTransitively) {
subFilters.add(new DirectDependencyFilter(project.getArtifact(), dependencyArtifacts));
}
return new AndFilter(subFilters);
}
use of org.apache.maven.shared.artifact.filter.resolve.PatternExclusionsFilter in project maven-plugins by apache.
the class AbstractJavadocMojo method getDependencySourcePaths.
/**
* Resolve dependency sources so they can be included directly in the javadoc process. To customize this,
* override {@link AbstractJavadocMojo#configureDependencySourceResolution(SourceResolverConfig)}.
* @return List of source paths.
* @throws MavenReportException {@link MavenReportException}
*/
protected final List<String> getDependencySourcePaths() throws MavenReportException {
try {
if (sourceDependencyCacheDir.exists()) {
FileUtils.forceDelete(sourceDependencyCacheDir);
sourceDependencyCacheDir.mkdirs();
}
} catch (IOException e) {
throw new MavenReportException("Failed to delete cache directory: " + sourceDependencyCacheDir + "\nReason: " + e.getMessage(), e);
}
final SourceResolverConfig config = getDependencySourceResolverConfig();
final List<TransformableFilter> andFilters = new ArrayList<TransformableFilter>();
final List<String> dependencyIncludes = dependencySourceIncludes;
final List<String> dependencyExcludes = dependencySourceExcludes;
if (!includeTransitiveDependencySources || isNotEmpty(dependencyIncludes) || isNotEmpty(dependencyExcludes)) {
if (!includeTransitiveDependencySources) {
andFilters.add(createDependencyArtifactFilter());
}
if (isNotEmpty(dependencyIncludes)) {
andFilters.add(new PatternInclusionsFilter(dependencyIncludes));
}
if (isNotEmpty(dependencyExcludes)) {
andFilters.add(new PatternExclusionsFilter(dependencyExcludes));
}
config.withFilter(new AndFilter(andFilters));
}
try {
return resourceResolver.resolveDependencySourcePaths(config);
} catch (final ArtifactResolutionException e) {
throw new MavenReportException("Failed to resolve one or more javadoc source/resource artifacts:\n\n" + e.getMessage(), e);
} catch (final ArtifactNotFoundException e) {
throw new MavenReportException("Failed to resolve one or more javadoc source/resource artifacts:\n\n" + e.getMessage(), e);
}
}
Aggregations