@@ -323,36 +323,34 @@ private Stream<SourceFile> processMainSources(
323
323
javaParserBuilder .classpath (dependencies ).typeCache (typeCache );
324
324
kotlinParserBuilder .classpath (dependencies ).typeCache (new JavaTypeCache ());
325
325
326
- Stream <? extends SourceFile > cus = mainJavaSources .isEmpty () ? Stream .empty ()
327
- : Stream .of (javaParserBuilder ).map (JavaParser .Builder ::build )
328
- .flatMap (parser -> parser .parse (mainJavaSources , baseDir , ctx ));
326
+ Stream <SourceFile > parsedJava = Stream .empty ();
327
+ if (!mainJavaSources .isEmpty ()) {
328
+ parsedJava = javaParserBuilder .build ().parse (mainJavaSources , baseDir , ctx );
329
+ logDebug (mavenProject , "Scanned " + mainJavaSources .size () + " java source files in main scope." );
330
+ }
329
331
330
- Stream <? extends SourceFile > kcus = mainKotlinSources .isEmpty () ? Stream .empty ()
331
- : Stream .of (kotlinParserBuilder ).map (KotlinParser .Builder ::build )
332
- .flatMap (parser -> parser .parse (mainKotlinSources , baseDir , ctx ));
332
+ Stream <SourceFile > parsedKotlin = Stream .empty ();
333
+ if (!mainKotlinSources .isEmpty ()) {
334
+ parsedKotlin = kotlinParserBuilder .build ().parse (mainKotlinSources , baseDir , ctx );
335
+ logDebug (mavenProject , "Scanned " + mainKotlinSources .size () + " kotlin source files in main scope." );
336
+ }
333
337
334
338
List <Marker > mainProjectProvenance = new ArrayList <>(projectProvenance );
335
339
mainProjectProvenance .add (sourceSet ("main" , dependencies , typeCache ));
336
340
337
- Stream <SourceFile > parsedJava = cus .map (addProvenance (baseDir , mainProjectProvenance , generatedSourcePaths ));
338
- logDebug (mavenProject , "Scanned " + mainJavaSources .size () + " java source files in main scope." );
339
-
340
- Stream <SourceFile > parsedKotlin = kcus .map (addProvenance (baseDir , mainProjectProvenance , generatedSourcePaths ));
341
- logDebug (mavenProject , "Scanned " + mainKotlinSources .size () + " kotlin source files in main scope." );
342
-
343
341
//Filter out any generated source files from the returned list, as we do not want to apply the recipe to the
344
342
//generated files.
345
343
Path buildDirectory = baseDir .relativize (Paths .get (mavenProject .getBuild ().getDirectory ()));
346
- Stream <SourceFile > sourceFiles = Stream .concat (parsedJava , parsedKotlin ).filter (s -> !s .getSourcePath ().startsWith (buildDirectory ));
344
+ Stream <SourceFile > sourceFiles = Stream .concat (parsedJava , parsedKotlin )
345
+ .filter (s -> !s .getSourcePath ().startsWith (buildDirectory ))
346
+ .map (addProvenance (baseDir , mainProjectProvenance , generatedSourcePaths ));
347
347
348
+ // Any resources parsed from "main/resources" should also have the main source set added to them.
348
349
int sourcesParsedBefore = alreadyParsed .size ();
349
350
Stream <SourceFile > parsedResourceFiles = resourceParser .parse (mavenProject .getBasedir ().toPath ().resolve ("src/main/resources" ), alreadyParsed )
350
351
.map (addProvenance (baseDir , mainProjectProvenance , null ));
351
-
352
352
logDebug (mavenProject , "Scanned " + (alreadyParsed .size () - sourcesParsedBefore ) + " resource files in main scope." );
353
- // Any resources parsed from "main/resources" should also have the main source set added to them.
354
- sourceFiles = Stream .concat (sourceFiles , parsedResourceFiles );
355
- return sourceFiles ;
353
+ return Stream .concat (sourceFiles , parsedResourceFiles );
356
354
}
357
355
358
356
private Stream <SourceFile > processTestSources (
@@ -379,35 +377,29 @@ private Stream<SourceFile> processTestSources(
379
377
// scan Kotlin files
380
378
String kotlinSourceDir = getKotlinDirectory (mavenProject .getBuild ().getSourceDirectory ());
381
379
List <Path > testKotlinSources = (kotlinSourceDir != null ) ? listKotlinSources (mavenProject .getBasedir ().toPath ().resolve (kotlinSourceDir )) : Collections .emptyList ();
382
-
383
380
alreadyParsed .addAll (testKotlinSources );
384
381
385
- Stream <? extends SourceFile > cus = testJavaSources .isEmpty () ? Stream .empty ()
386
- : Stream .of (javaParserBuilder ).map (JavaParser .Builder ::build )
387
- .flatMap (parser -> parser .parse (testJavaSources , baseDir , ctx ));
382
+ Stream <SourceFile > parsedJava = Stream .empty ();
383
+ if (!testJavaSources .isEmpty ()) {
384
+ parsedJava = javaParserBuilder .build ().parse (testJavaSources , baseDir , ctx );
385
+ logDebug (mavenProject , "Scanned " + testJavaSources .size () + " java source files in test scope." );
386
+ }
388
387
389
- Stream <? extends SourceFile > kcus = testKotlinSources .isEmpty () ? Stream .empty ()
390
- : Stream .of (kotlinParserBuilder ).map (KotlinParser .Builder ::build )
391
- .flatMap (parser -> parser .parse (testKotlinSources , baseDir , ctx ));
388
+ Stream <SourceFile > parsedKotlin = Stream .empty ();
389
+ if (!testKotlinSources .isEmpty ()) {
390
+ parsedKotlin = kotlinParserBuilder .build ().parse (testKotlinSources , baseDir , ctx );
391
+ logDebug (mavenProject , "Scanned " + testKotlinSources .size () + " kotlin source files in main scope." );
392
+ }
392
393
393
394
List <Marker > markers = new ArrayList <>(projectProvenance );
394
395
markers .add (sourceSet ("test" , testDependencies , typeCache ));
395
396
396
- Stream <SourceFile > parsedJava = cus .map (addProvenance (baseDir , markers , null ));
397
- logDebug (mavenProject , "Scanned " + testJavaSources .size () + " java source files in test scope." );
398
-
399
- Stream <SourceFile > parsedKotlin = kcus .map (addProvenance (baseDir , markers , null ));
400
- logDebug (mavenProject , "Scanned " + testKotlinSources .size () + " kotlin source files in main scope." );
401
-
402
- Stream <SourceFile > sourceFiles = Stream .concat (parsedJava , parsedKotlin );
403
-
404
397
// Any resources parsed from "test/resources" should also have the test source set added to them.
405
398
int sourcesParsedBefore = alreadyParsed .size ();
406
- Stream <SourceFile > parsedResourceFiles = resourceParser .parse (mavenProject .getBasedir ().toPath ().resolve ("src/test/resources" ), alreadyParsed )
407
- .map (addProvenance (baseDir , markers , null ));
399
+ Stream <SourceFile > parsedResourceFiles = resourceParser .parse (mavenProject .getBasedir ().toPath ().resolve ("src/test/resources" ), alreadyParsed );
408
400
logDebug (mavenProject , "Scanned " + (alreadyParsed .size () - sourcesParsedBefore ) + " resource files in test scope." );
409
- sourceFiles = Stream .concat (sourceFiles , parsedResourceFiles );
410
- return sourceFiles ;
401
+ return Stream .concat (Stream . concat ( parsedJava , parsedKotlin ), parsedResourceFiles )
402
+ . map ( addProvenance ( baseDir , markers , null )) ;
411
403
}
412
404
413
405
@ Nullable
@@ -504,7 +496,7 @@ public Map<MavenProject, Xml.Document> parseMaven(List<MavenProject> mavenProjec
504
496
if (document instanceof Xml .Document ) {
505
497
projectMap .put (mavenProject , (Xml .Document ) document );
506
498
} else if (document instanceof ParseError ) {
507
- logError (mavenProject , "Parse error in Maven Project File '" + path + "': " + document );
499
+ logError (mavenProject , "Parse error in Maven Project File '" + path + "': " + document );
508
500
}
509
501
}
510
502
}
0 commit comments