Skip to content

Commit dec96fe

Browse files
committed
Eagerly resolve IDE hook properties
1 parent ca5c067 commit dec96fe

File tree

1 file changed

+18
-18
lines changed
  • plugin-gradle/src/main/java/com/diffplug/gradle/spotless

1 file changed

+18
-18
lines changed

plugin-gradle/src/main/java/com/diffplug/gradle/spotless/IdeHook.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@
1919
import java.io.IOException;
2020
import java.nio.file.Files;
2121

22+
import javax.annotation.Nullable;
23+
2224
import org.gradle.api.Project;
23-
import org.gradle.api.provider.Provider;
25+
import org.gradle.api.provider.ProviderFactory;
2426

2527
import com.diffplug.common.base.Errors;
2628
import com.diffplug.common.io.ByteStreams;
@@ -30,22 +32,20 @@
3032

3133
final 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

Comments
 (0)