/** * Matches the given artifact against the filter configuration. * * @param artifact * The artifact. * @return <code>true</code> if the artifact matches the filter. */ public boolean match(Artifact artifact) { return (includesFilter == null || includesFilter.include(artifact)) && (excludesFilter == null || excludesFilter.include(artifact)); }
/** * Constructor. * * @param includes * The list of include patterns or <code>null</code> to include everything. * @param excludes * The list of exclude patterns or <code>null</code> to exclude nothing. */ public ArtifactFilter(List<String> includes, List<String> excludes) { includesFilter = includes != null ? new PatternIncludesArtifactFilter(includes) : null; excludesFilter = excludes != null ? new PatternExcludesArtifactFilter(excludes) : null; }
private ArtifactFilter createTransitiveIncludeExcludeFilter() { AndArtifactFilter filter = new AndArtifactFilter(); if (!this.transitiveIncludes.isEmpty()) { filter.add(new StrictPatternIncludesArtifactFilter(this.transitiveIncludes)); } if (!this.transitiveExcludes.isEmpty()) { filter.add(new StrictPatternExcludesArtifactFilter(this.transitiveExcludes)); } return filter; }
ArtifactFilter scopeFilter = new ScopeArtifactFilter( repository.getScope() ); filter.add( scopeFilter ); PatternIncludesArtifactFilter includeFilter = new PatternIncludesArtifactFilter( patterns, true ); filter.add( new PatternIncludesArtifactFilter( repository.getIncludes(), true ) ); filter.add( new PatternExcludesArtifactFilter( repository.getExcludes(), true ) );
new PatternIncludesArtifactFilter( includes, actTransitively ); new PatternExcludesArtifactFilter( excludes, actTransitively ); f.reportMissedCriteria( logger );
private ArtifactFilter createGlobalArtifactFilter() { AndArtifactFilter filter = new AndArtifactFilter(); if (this.scope != null) { filter.add(new ScopeArtifactFilter(this.scope)); } if (!this.includes.isEmpty()) { filter.add(new StrictPatternIncludesArtifactFilter(this.includes)); } if (!this.excludes.isEmpty()) { filter.add(new StrictPatternExcludesArtifactFilter(this.excludes)); } if (this.excludeOptionalDependencies) { filter.add(new OptionalArtifactFilter()); } return filter; }
private ArtifactFilter getIncludesArtifactFilter() { if ( includesFilter == null && ( includes != null || includesList != null ) ) { List<String> patterns = new ArrayList<>(); if ( this.includesList != null ) { patterns.addAll( separatePatterns( includesList ) ); } else if ( includes != null ) { patterns.addAll( Arrays.asList( includes ) ); } includesFilter = new PatternIncludesArtifactFilter( patterns ); } return includesFilter; }
private ArtifactFilter getExcludesArtifactFilter() { if ( excludesFilter == null && ( excludes != null || excludesList != null ) ) { List<String> patterns = new ArrayList<>(); if ( excludesList != null ) { patterns.addAll( separatePatterns( excludesList ) ); } else if ( excludes != null ) { patterns.addAll( Arrays.asList( excludes ) ); } excludesFilter = new PatternExcludesArtifactFilter( patterns ); } return excludesFilter; }
private ArtifactFilter createTargetArtifactFilter() { AndArtifactFilter filter = new AndArtifactFilter(); if (!this.targetIncludes.isEmpty()) { filter.add(new StrictPatternIncludesArtifactFilter(this.targetIncludes)); } return filter; }
public static void reportFilteringStatistics( final Collection<ArtifactFilter> filters, final Logger logger ) { for ( final ArtifactFilter f : filters ) { if ( f instanceof StatisticsReportingArtifactFilter ) { final StatisticsReportingArtifactFilter sFilter = (StatisticsReportingArtifactFilter) f; if ( logger.isDebugEnabled() ) { logger.debug( "Statistics for " + sFilter + "\n" ); } sFilter.reportMissedCriteria( logger ); sFilter.reportFilteredArtifacts( logger ); } } }
/** * @return the selection filter allowing to select the set of libraries. */ public ArtifactFilter getFilter() { AndArtifactFilter filter = new AndArtifactFilter(); PatternIncludesArtifactFilter incl = new PatternIncludesArtifactFilter(getIncludes(), isResolveTransitive()); filter.add(incl); if (!getExcludes().isEmpty()) { PatternExcludesArtifactFilter excl = new PatternExcludesArtifactFilter(getExcludes(), isResolveTransitive()); filter.add(excl); } return filter; }
public Set<Artifact> filterArtifacts( Set<Artifact> dependencies ) { if ( includes == null && excludes == null ) { return dependencies; } AndArtifactFilter filter = new AndArtifactFilter( ); if ( includes != null ) { filter.add( new StrictPatternIncludesArtifactFilter( includes ) ); } if ( excludes != null ) { filter.add( new StrictPatternExcludesArtifactFilter( excludes ) ); } Set<Artifact> result = new HashSet<Artifact>(); for ( Artifact artifact : dependencies ) { if ( filter.include( artifact ) ) { result.add( artifact ); } } return result; }
private ArtifactFilter getIncludesArtifactFilter() { if ( includesFilter == null && ( includes != null || includesList != null ) ) { List<String> patterns = new ArrayList<>(); if ( this.includesList != null ) { patterns.addAll( separatePatterns( includesList ) ); } else if ( includes != null ) { patterns.addAll( Arrays.asList( includes ) ); } includesFilter = new PatternIncludesArtifactFilter( patterns ); } return includesFilter; }
private ArtifactFilter getExcludesArtifactFilter() { if ( excludesFilter == null && ( excludes != null || excludesList != null ) ) { List<String> patterns = new ArrayList<>(); if ( excludesList != null ) { patterns.addAll( separatePatterns( excludesList ) ); } else if ( excludes != null ) { patterns.addAll( Arrays.asList( excludes ) ); } excludesFilter = new PatternExcludesArtifactFilter( patterns ); } return excludesFilter; }
private ArtifactFilter createTransitiveDependencyFilter(MavenProject project) { List<String> dependencyKeys = new ArrayList<>(project.getDependencies().size()); for (Dependency dependency : project.getDependencies()) { dependencyKeys.add(dependency.getManagementKey()); } // Matches direct dependencies or the configured transitive dependencies or the project itself OrArtifactFilter artifactFilter = new OrArtifactFilter(); artifactFilter.add(this.transitiveIncludeExcludeFilter); artifactFilter.add(new StrictPatternIncludesArtifactFilter(dependencyKeys)); artifactFilter.add(new StrictPatternIncludesArtifactFilter(singletonList(project.getArtifact().toString()))); return artifactFilter; } }
final ArtifactFilter includeFilter = new PatternIncludesArtifactFilter(includes, actTransitively); filter.add(includeFilter); final ArtifactFilter excludeFilter = new PatternExcludesArtifactFilter(excludes, actTransitively); filter.add(excludeFilter);
public Set<Artifact> filterArtifacts( Set<Artifact> dependencies ) { if ( includes == null && excludes == null ) { return dependencies; } AndArtifactFilter filter = new AndArtifactFilter( ); if ( includes != null ) { filter.add( new StrictPatternIncludesArtifactFilter( includes ) ); } if ( excludes != null ) { filter.add( new StrictPatternExcludesArtifactFilter( excludes ) ); } Set<Artifact> result = new HashSet<Artifact>(); for ( Artifact artifact : dependencies ) { if ( filter.include( artifact ) ) { result.add( artifact ); } } return result; }
/** * @return a selection filter that reverse the {@link #getFilter()} selection. This filter is used to determine * whether a dependency must be ignored during the bundle copy because of the {@link #excludeFromApplication} * parameter. */ public ArtifactFilter getReverseFilter() { if (!hasLibraries()) { return null; } AndArtifactFilter filter = new AndArtifactFilter(); PatternExcludesArtifactFilter excl = new PatternExcludesArtifactFilter(getIncludes(), isResolveTransitive()); filter.add(excl); if (!getExcludes().isEmpty()) { PatternIncludesArtifactFilter incl = new PatternIncludesArtifactFilter(getExcludes(), isResolveTransitive()); filter.add(incl); } return filter; }
/** * Gets the dependency node filter to use when serializing the dependency graph. * * @return the dependency node filter, or <code>null</code> if none required */ private DependencyNodeFilter createDependencyNodeFilter() { List<DependencyNodeFilter> filters = new ArrayList<DependencyNodeFilter>(); // filter includes if ( includes != null ) { List<String> patterns = Arrays.asList( includes.split( "," ) ); getLog().debug( "+ Filtering dependency tree by artifact include patterns: " + patterns ); ArtifactFilter artifactFilter = new StrictPatternIncludesArtifactFilter( patterns ); filters.add( new ArtifactDependencyNodeFilter( artifactFilter ) ); } // filter excludes if ( excludes != null ) { List<String> patterns = Arrays.asList( excludes.split( "," ) ); getLog().debug( "+ Filtering dependency tree by artifact exclude patterns: " + patterns ); ArtifactFilter artifactFilter = new StrictPatternExcludesArtifactFilter( patterns ); filters.add( new ArtifactDependencyNodeFilter( artifactFilter ) ); } return filters.isEmpty() ? null : new AndDependencyNodeFilter( filters ); }
if ( includes != null ) filter.add( new StrictPatternIncludesArtifactFilter( includes ) ); filter.add( new StrictPatternExcludesArtifactFilter( excludes ) );