1919import java .io .IOException ;
2020import java .nio .file .Files ;
2121
22+ import javax .annotation .Nullable ;
23+
2224import org .gradle .api .Project ;
23- import org .gradle .api .provider .Provider ;
25+ import org .gradle .api .provider .ProviderFactory ;
2426
2527import com .diffplug .common .base .Errors ;
2628import com .diffplug .common .io .ByteStreams ;
3032
3133final class IdeHook {
3234 static class State extends NoLambda .EqualityBasedOnSerialization {
33- final Provider < String > path ;
34- final Provider < Boolean > useStdIn ;
35- final Provider < Boolean > useStdOut ;
35+ final @ Nullable String path ;
36+ final boolean useStdIn ;
37+ final boolean useStdOut ;
3638
3739 State (Project project ) {
38- this .path = project .getProviders ().gradleProperty (PROPERTY );
39-
40- this .useStdIn = path .map (path -> project .getProviders ()
41- .gradleProperty (USE_STD_IN )
42- .isPresent ())
43- .orElse (false );
44-
45- this .useStdOut = path .map (path -> project .getProviders ()
46- .gradleProperty (USE_STD_OUT )
47- .isPresent ())
48- .orElse (false );
40+ ProviderFactory providers = project .getProviders ();
41+ path = providers .gradleProperty (PROPERTY ).getOrNull ();
42+ if (path != null ) {
43+ useStdIn = providers .gradleProperty (USE_STD_IN ).isPresent ();
44+ useStdOut = providers .gradleProperty (USE_STD_OUT ).isPresent ();
45+ } else {
46+ useStdIn = false ;
47+ useStdOut = false ;
48+ }
4949 }
5050 }
5151
@@ -58,7 +58,7 @@ private static void dumpIsClean() {
5858 }
5959
6060 static void performHook (SpotlessTaskImpl spotlessTask , IdeHook .State state ) {
61- File file = new File (state .path . get () );
61+ File file = new File (state .path );
6262 if (!file .isAbsolute ()) {
6363 System .err .println ("Argument passed to " + PROPERTY + " must be an absolute path" );
6464 return ;
@@ -73,7 +73,7 @@ static void performHook(SpotlessTaskImpl spotlessTask, IdeHook.State state) {
7373 }
7474 }
7575 byte [] bytes ;
76- if (state .useStdIn . get () ) {
76+ if (state .useStdIn ) {
7777 bytes = ByteStreams .toByteArray (System .in );
7878 } else {
7979 bytes = Files .readAllBytes (file .toPath ());
@@ -86,7 +86,7 @@ static void performHook(SpotlessTaskImpl spotlessTask, IdeHook.State state) {
8686 System .err .println ("Run 'spotlessDiagnose' for details https://github.com/diffplug/spotless/blob/main/PADDEDCELL.md" );
8787 } else {
8888 System .err .println ("IS DIRTY" );
89- if (state .useStdOut . get () ) {
89+ if (state .useStdOut ) {
9090 dirty .writeCanonicalTo (System .out );
9191 } else {
9292 dirty .writeCanonicalTo (file );
0 commit comments