1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.dependency.resolvers;
20
21 import java.util.List;
22 import java.util.function.Predicate;
23
24 import org.apache.maven.model.Plugin;
25
26
27
28
29 class PluginsIncludeExcludeFilter implements Predicate<Plugin> {
30 private final List<String> includesGroupId;
31
32 private final List<String> excludesGroupId;
33
34 private final List<String> includesArtifactId;
35
36 private final List<String> excludesArtifactId;
37
38 PluginsIncludeExcludeFilter(
39 List<String> includeGroupIds,
40 List<String> excludeGroupIds,
41 List<String> includeArtifactIds,
42 List<String> excludeArtifactIds) {
43 this.includesGroupId = includeGroupIds;
44 this.excludesGroupId = excludeGroupIds;
45 this.includesArtifactId = includeArtifactIds;
46 this.excludesArtifactId = excludeArtifactIds;
47 }
48
49 @Override
50 public boolean test(Plugin plugin) {
51 if (!includesGroupId.isEmpty() && !includesGroupId.contains(plugin.getGroupId())) {
52 return false;
53 }
54
55 if (excludesGroupId.contains(plugin.getGroupId())) {
56 return false;
57 }
58
59 if (!includesArtifactId.isEmpty() && !includesArtifactId.contains(plugin.getArtifactId())) {
60 return false;
61 }
62
63 return !excludesArtifactId.contains(plugin.getArtifactId());
64 }
65 }