33import edu .umd .cs .findbugs .annotations .SuppressFBWarnings ;
44import lombok .Getter ;
55import lombok .Setter ;
6+ import org .gradle .api .file .ConfigurableFileCollection ;
67import org .gradle .api .file .FileCollection ;
7- import org .gradle .api .tasks .InputFiles ;
8- import org .gradle .api .tasks .JavaExec ;
9- import org .gradle .api .tasks .Nested ;
10- import org .gradle .api .tasks .OutputDirectory ;
8+ import org .gradle .api .tasks .*;
119
1210import java .io .File ;
1311import java .util .stream .Collectors ;
@@ -19,16 +17,25 @@ public class Delombok extends JavaExec {
1917 @ Nested
2018 private DelombokOptions options = new DelombokOptions ();
2119
20+ @ Internal
21+ private final ConfigurableFileCollection input = getProject ().files ();
22+
2223 @ InputFiles
23- private FileCollection input ;
24+ @ SkipWhenEmpty
25+ protected FileCollection getNonEmptySourceRoots () {
26+ return getProject ().files (
27+ getInput ().getFiles ().stream ()
28+ .filter (File ::isDirectory )
29+ .collect (Collectors .toList ())
30+ );
31+ }
2432
2533 @ SuppressFBWarnings (value = "RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT" , justification = "setMain() and args()" )
2634 public Delombok () {
2735 setMain ("lombok.launch.Main" );
2836 args ("delombok" );
2937 getArgumentProviders ().add (getOptions ());
30- getArgumentProviders ().add (() -> getInput ().getFiles ().stream ()
31- .filter (File ::isDirectory )
38+ getArgumentProviders ().add (() -> getNonEmptySourceRoots ().getFiles ().stream ()
3239 .map (File ::getPath )
3340 .collect (Collectors .toList ()));
3441 }
0 commit comments