1 package org.codehaus.plexus.compiler.util.scan;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import org.codehaus.plexus.compiler.util.scan.mapping.SourceMapping;
28
29 import java.io.File;
30 import java.util.Collections;
31 import java.util.HashSet;
32 import java.util.List;
33 import java.util.Set;
34
35
36
37
38 public class SimpleSourceInclusionScanner
39 extends AbstractSourceInclusionScanner
40 {
41 private Set<String> sourceIncludes;
42
43 private Set<String> sourceExcludes;
44
45 public SimpleSourceInclusionScanner( Set<String> sourceIncludes, Set<String> sourceExcludes )
46 {
47 this.sourceIncludes = sourceIncludes;
48
49 this.sourceExcludes = sourceExcludes;
50 }
51
52 public Set<File> getIncludedSources( File sourceDir, File targetDir )
53 throws InclusionScanException
54 {
55 List<SourceMapping> srcMappings = getSourceMappings();
56
57 if ( srcMappings.isEmpty() )
58 {
59 return Collections.emptySet();
60 }
61
62 String[] potentialSources = scanForSources( sourceDir, sourceIncludes, sourceExcludes );
63
64 Set<File> matchingSources = new HashSet<>( potentialSources != null ? potentialSources.length : 0 );
65
66 if ( potentialSources != null )
67 {
68 for ( String potentialSource : potentialSources )
69 {
70 matchingSources.add( new File( sourceDir, potentialSource ) );
71 }
72 }
73
74 return matchingSources;
75 }
76 }