Search in sources :

Example 1 with AndFilter

use of org.apache.maven.shared.artifact.filter.resolve.AndFilter 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);
}
Also used : AndFilter(org.apache.maven.shared.artifact.filter.resolve.AndFilter) TransformableFilter(org.apache.maven.shared.artifact.filter.resolve.TransformableFilter) PatternInclusionsFilter(org.apache.maven.shared.artifact.filter.resolve.PatternInclusionsFilter) ArrayList(java.util.ArrayList) PatternExclusionsFilter(org.apache.maven.shared.artifact.filter.resolve.PatternExclusionsFilter)

Example 2 with AndFilter

use of org.apache.maven.shared.artifact.filter.resolve.AndFilter 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);
    }
}
Also used : PatternInclusionsFilter(org.apache.maven.shared.artifact.filter.resolve.PatternInclusionsFilter) ArrayList(java.util.ArrayList) IOException(java.io.IOException) PatternExclusionsFilter(org.apache.maven.shared.artifact.filter.resolve.PatternExclusionsFilter) AndFilter(org.apache.maven.shared.artifact.filter.resolve.AndFilter) ArtifactResolutionException(org.apache.maven.artifact.resolver.ArtifactResolutionException) TransformableFilter(org.apache.maven.shared.artifact.filter.resolve.TransformableFilter) SourceResolverConfig(org.apache.maven.plugin.javadoc.resolver.SourceResolverConfig) ArtifactNotFoundException(org.apache.maven.artifact.resolver.ArtifactNotFoundException) MavenReportException(org.apache.maven.reporting.MavenReportException)

Aggregations

ArrayList (java.util.ArrayList)2 AndFilter (org.apache.maven.shared.artifact.filter.resolve.AndFilter)2 PatternExclusionsFilter (org.apache.maven.shared.artifact.filter.resolve.PatternExclusionsFilter)2 PatternInclusionsFilter (org.apache.maven.shared.artifact.filter.resolve.PatternInclusionsFilter)2 TransformableFilter (org.apache.maven.shared.artifact.filter.resolve.TransformableFilter)2 IOException (java.io.IOException)1 ArtifactNotFoundException (org.apache.maven.artifact.resolver.ArtifactNotFoundException)1 ArtifactResolutionException (org.apache.maven.artifact.resolver.ArtifactResolutionException)1 SourceResolverConfig (org.apache.maven.plugin.javadoc.resolver.SourceResolverConfig)1 MavenReportException (org.apache.maven.reporting.MavenReportException)1