Skip to content

Commit 36ead1f

Browse files
Return empty list for not existing source root location
1 parent b5631da commit 36ead1f

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

plexus-compiler-api/src/main/java/org/codehaus/plexus/compiler/AbstractCompiler.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
*/
2626
import java.io.File;
2727
import java.io.IOException;
28+
import java.util.Collections;
2829
import java.util.HashSet;
2930
import java.util.List;
3031
import java.util.Set;
@@ -145,10 +146,14 @@ public static String getPathString(List<String> pathElements) {
145146
}
146147

147148
protected static Set<String> getSourceFilesForSourceRoot(CompilerConfiguration config, String sourceLocation) {
148-
DirectoryScanner scanner = new DirectoryScanner();
149149

150+
DirectoryScanner scanner = new DirectoryScanner();
150151
scanner.setBasedir(sourceLocation);
151152

153+
if (!scanner.getBasedir().exists()) {
154+
return Collections.emptySet();
155+
}
156+
152157
Set<String> includes = config.getIncludes();
153158

154159
if (includes != null && !includes.isEmpty()) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package org.codehaus.plexus.compiler;
2+
3+
import java.io.File;
4+
import java.util.Set;
5+
6+
import org.junit.jupiter.api.Test;
7+
8+
import static org.junit.jupiter.api.Assertions.assertFalse;
9+
import static org.junit.jupiter.api.Assertions.assertTrue;
10+
11+
class AbstractCompilerTest {
12+
13+
@Test
14+
void getSourceFilesForSourceRootShouldReturnEmptyForNotExistingLocation() {
15+
16+
CompilerConfiguration config = new CompilerConfiguration();
17+
File fileLocation = new File("non/existing/location").getAbsoluteFile();
18+
19+
assertFalse(fileLocation.exists());
20+
21+
Set<String> sourcesFile = AbstractCompiler.getSourceFilesForSourceRoot(config, fileLocation.getAbsolutePath());
22+
23+
assertTrue(sourcesFile.isEmpty());
24+
}
25+
}

0 commit comments

Comments
 (0)