Skip to content

Commit b384f5a

Browse files
committed
Introduce a class to store all the transient fields of a task.
1 parent 0316ef7 commit b384f5a

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

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

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import java.nio.file.Files;
2121
import java.nio.file.Path;
2222
import java.nio.file.StandardCopyOption;
23+
import java.util.List;
24+
import java.util.Objects;
2325

2426
import javax.inject.Inject;
2527

@@ -36,6 +38,8 @@
3638

3739
import com.diffplug.common.base.StringPrinter;
3840
import com.diffplug.spotless.Formatter;
41+
import com.diffplug.spotless.FormatterStep;
42+
import com.diffplug.spotless.LineEnding;
3943
import com.diffplug.spotless.PaddedCell;
4044

4145
@CacheableTask
@@ -130,4 +134,26 @@ private File getOutputFile(File input) {
130134
}
131135
return new File(outputDirectory, outputFileName);
132136
}
137+
138+
static boolean isHydrated(SpotlessTask task) {
139+
return task.lineEndingsPolicy != null;
140+
}
141+
142+
static class LiveCache {
143+
LineEnding.Policy lineEndingsPolicy;
144+
List<FormatterStep> steps;
145+
String ratchetFrom;
146+
147+
LiveCache(SpotlessTask task) {
148+
lineEndingsPolicy = Objects.requireNonNull(task.lineEndingsPolicy);
149+
steps = Objects.requireNonNull(task.steps);
150+
ratchetFrom = Objects.requireNonNull(task.ratchetFrom);
151+
}
152+
153+
void hydrate(SpotlessTask task) {
154+
task.lineEndingsPolicy = lineEndingsPolicy;
155+
task.steps = steps;
156+
task.setupRatchet(ratchetFrom);
157+
}
158+
}
133159
}

0 commit comments

Comments
 (0)