24
24
import java .util .LinkedHashSet ;
25
25
import java .util .List ;
26
26
import java .util .Map ;
27
- import java .util .Set ;
28
27
import java .util .regex .Pattern ;
29
28
30
29
import org .apache .maven .artifact .Artifact ;
35
34
import aQute .bnd .header .Attrs ;
36
35
import aQute .bnd .header .OSGiHeader ;
37
36
import aQute .bnd .osgi .Instruction ;
38
- import org .apache .maven .shared .dependency .graph .DependencyNode ;
39
- import org .apache .maven .shared .dependency .graph .filter .ArtifactDependencyNodeFilter ;
40
- import org .apache .maven .shared .dependency .graph .filter .DependencyNodeFilter ;
41
- import org .apache .maven .shared .dependency .graph .traversal .BuildingDependencyNodeVisitor ;
42
- import org .apache .maven .shared .dependency .graph .traversal .CollectingDependencyNodeVisitor ;
43
- import org .apache .maven .shared .dependency .graph .traversal .DependencyNodeVisitor ;
44
- import org .apache .maven .shared .dependency .graph .traversal .FilteringDependencyNodeVisitor ;
45
37
46
38
47
39
/**
@@ -54,19 +46,14 @@ public abstract class AbstractDependencyFilter
54
46
private static final Pattern MISSING_KEY_PATTERN = Pattern .compile ( "(^|,)\\ p{Blank}*(!)?\\ p{Blank}*([a-zA-Z]+=)" );
55
47
private static final String PLACEHOLDER = "$$PLACEHOLDER$$" ;
56
48
57
- /**
58
- * Dependency Graph.
59
- */
60
- private final DependencyNode m_dependencyGraph ;
61
49
/**
62
50
* Dependency artifacts.
63
51
*/
64
52
private final Collection <Artifact > m_dependencyArtifacts ;
65
53
66
54
67
- public AbstractDependencyFilter ( DependencyNode dependencyGraph , Collection <Artifact > dependencyArtifacts )
55
+ public AbstractDependencyFilter ( Collection <Artifact > dependencyArtifacts )
68
56
{
69
- m_dependencyGraph = dependencyGraph ;
70
57
m_dependencyArtifacts = dependencyArtifacts ;
71
58
}
72
59
@@ -107,27 +94,6 @@ boolean matches( String text )
107
94
}
108
95
}
109
96
110
- private static class TrimmingDependencyNodeFilter implements DependencyNodeFilter
111
- {
112
- private DependencyNodeFilter dependencyNodeFilter ;
113
-
114
- public TrimmingDependencyNodeFilter ( DependencyNodeFilter dependencyNodeFilter )
115
- {
116
- this .dependencyNodeFilter = dependencyNodeFilter ;
117
- }
118
-
119
- public boolean accept ( DependencyNode node )
120
- {
121
- boolean accepted = dependencyNodeFilter .accept ( node );
122
- if ( !accepted )
123
- {
124
- List <DependencyNode > children = node .getChildren ();
125
- children .clear ();
126
- }
127
- return accepted ;
128
- }
129
- }
130
-
131
97
protected final void processInstructions ( String header ) throws MojoExecutionException
132
98
{
133
99
Map <String ,Attrs > instructions = OSGiHeader .parseHeader ( MISSING_KEY_PATTERN .matcher ( header ).replaceAll ( "$1$2*;$3" ) );
@@ -297,40 +263,6 @@ else if ( "inline".equals( attr.getKey() ) )
297
263
298
264
private void filteredDependencies ( final ArtifactFilter artifactFilter , Collection <Artifact > filteredDependencies )
299
265
{
300
- CollectingDependencyNodeVisitor collectingDependencyNodeVisitor = new CollectingDependencyNodeVisitor ();
301
- final Artifact rootArtifact = m_dependencyGraph .getArtifact ();
302
- ArtifactFilter filter = new ArtifactFilter ()
303
- {
304
-
305
-
306
- public boolean include ( Artifact artifact )
307
- {
308
- return artifact .equals ( rootArtifact ) || artifactFilter .include ( artifact );
309
- }
310
-
311
-
312
- };
313
- DependencyNodeFilter dependencyNodeFilter = new ArtifactDependencyNodeFilter ( filter );
314
- dependencyNodeFilter = new TrimmingDependencyNodeFilter ( dependencyNodeFilter );
315
- DependencyNodeVisitor dependencyNodeVisitor =
316
- new FilteringDependencyNodeVisitor ( collectingDependencyNodeVisitor , dependencyNodeFilter );
317
- dependencyNodeVisitor = new BuildingDependencyNodeVisitor ( dependencyNodeVisitor );
318
- m_dependencyGraph .accept ( dependencyNodeVisitor );
319
- List <DependencyNode > dependencyNodes = collectingDependencyNodeVisitor .getNodes ();
320
- Set <String > ids = new LinkedHashSet <String >( dependencyNodes .size () );
321
- for ( DependencyNode dependencyNode : dependencyNodes ) {
322
- Artifact artifact = dependencyNode .getArtifact ();
323
- String id = artifact .getId ();
324
- ids .add (id );
325
- }
326
- for (Iterator <Artifact > iterator = filteredDependencies .iterator (); iterator .hasNext ();)
327
- {
328
- Artifact artifact = iterator .next ();
329
- String id = artifact .getId ();
330
- if (!ids .contains (id ))
331
- {
332
- iterator .remove ();
333
- }
334
- }
266
+ filteredDependencies .removeIf ( artifact -> !artifactFilter .include ( artifact ) );
335
267
}
336
268
}
0 commit comments