Skip to content

Commit 1cd0de0

Browse files
committed
Consolidate our hydrate exceptions into one place.
1 parent 00646fe commit 1cd0de0

File tree

2 files changed

+25
-18
lines changed

2 files changed

+25
-18
lines changed

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

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import org.gradle.work.InputChanges;
3838

3939
import com.diffplug.common.base.StringPrinter;
40+
import com.diffplug.spotless.FileSignature;
4041
import com.diffplug.spotless.Formatter;
4142
import com.diffplug.spotless.FormatterStep;
4243
import com.diffplug.spotless.LineEnding;
@@ -68,22 +69,18 @@ public void performAction(InputChanges inputs) throws Exception {
6869
Files.createDirectories(outputDirectory.toPath());
6970
}
7071

71-
if (lineEndingsPolicy != null) {
72-
try (Formatter formatter = buildFormatter()) {
73-
for (FileChange fileChange : inputs.getFileChanges(target)) {
74-
File input = fileChange.getFile();
75-
if (fileChange.getChangeType() == ChangeType.REMOVED) {
76-
deletePreviousResult(input);
77-
} else {
78-
if (input.isFile()) {
79-
processInputFile(formatter, input);
80-
}
72+
assertHydrated(this);
73+
try (Formatter formatter = buildFormatter()) {
74+
for (FileChange fileChange : inputs.getFileChanges(target)) {
75+
File input = fileChange.getFile();
76+
if (fileChange.getChangeType() == ChangeType.REMOVED) {
77+
deletePreviousResult(input);
78+
} else {
79+
if (input.isFile()) {
80+
processInputFile(formatter, input);
8181
}
8282
}
8383
}
84-
} else {
85-
throw new GradleException("Spotless doesn't support configuration cache yet.\n" +
86-
"Rerun with --no-configuration-cache");
8784
}
8885
}
8986

@@ -139,6 +136,19 @@ static boolean isHydrated(SpotlessTask task) {
139136
return task.lineEndingsPolicy != null;
140137
}
141138

139+
static void assertHydrated(SpotlessTask task) {
140+
if (!isHydrated(task)) {
141+
throw new GradleException("Spotless doesn't support configuration cache yet.\n" +
142+
"Rerun with --no-configuration-cache");
143+
}
144+
}
145+
146+
static GradleException cacheIsStale() {
147+
return new GradleException("Spotless daemon-local cache is stale. Regenerate the cache with\n" +
148+
" " + (FileSignature.machineIsWin() ? "rmdir /q /s" : "rm -rf") + " .gradle/configuration-cache\n" +
149+
"For more information see #123");
150+
}
151+
142152
static class LiveCache {
143153
LineEnding.Policy lineEndingsPolicy;
144154
List<FormatterStep> steps;

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import javax.inject.Inject;
2424

2525
import org.gradle.api.DefaultTask;
26-
import org.gradle.api.GradleException;
2726
import org.gradle.api.Project;
2827
import org.gradle.api.file.DirectoryProperty;
2928
import org.gradle.api.model.ObjectFactory;
@@ -36,7 +35,6 @@
3635

3736
import com.diffplug.common.base.Preconditions;
3837
import com.diffplug.common.base.Unhandled;
39-
import com.diffplug.spotless.FileSignature;
4038
import com.diffplug.spotless.Provisioner;
4139

4240
/**
@@ -68,6 +66,7 @@ void hydrate(SpotlessTask task) {
6866

6967
private void storeOrHydrate(SpotlessTask task) {
7068
if (!enableConfigCacheDaemonLocal) {
69+
SpotlessTaskImpl.assertHydrated(task);
7170
return;
7271
}
7372
String cacheKey = task.getProjectDir().getAsFile().get().getAbsolutePath() + ">" + task.getPath();
@@ -76,9 +75,7 @@ private void storeOrHydrate(SpotlessTask task) {
7675
} else {
7776
SpotlessTaskImpl.LiveCache cached = daemonLocalMap.get(cacheKey);
7877
if (cached == null) {
79-
throw new GradleException("Spotless daemon-local cache is stale. Regenerate the cache with\n" +
80-
" " + (FileSignature.machineIsWin() ? "rmdir /q /s" : "rm -rf") + " .gradle/configuration-cache\n" +
81-
"For more information see #123");
78+
throw SpotlessTaskImpl.cacheIsStale();
8279
} else {
8380
cached.hydrate(task);
8481
}

0 commit comments

Comments
 (0)