Skip to content

Commit d059972

Browse files
committed
Replace getProject() invocations with ObjectFactory and FileSystemOperations where it was easy to do so.
1 parent 88e6298 commit d059972

File tree

4 files changed

+17
-9
lines changed

4 files changed

+17
-9
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public abstract class SpotlessApply extends SpotlessTaskService.ClientTask {
2929
@TaskAction
3030
public void performAction() {
3131
getTaskService().get().registerApplyAlreadyRan(this);
32-
ConfigurableFileTree files = getProject().fileTree(getSpotlessOutDirectory().get());
32+
ConfigurableFileTree files = getConfigCacheWorkaround().fileTree().from(getSpotlessOutDirectory().get());
3333
if (files.isEmpty()) {
3434
getState().setDidWork(sourceDidWork());
3535
} else {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public void performAction() throws IOException {
5050
}
5151

5252
private void performAction(boolean isTest) throws IOException {
53-
ConfigurableFileTree files = getProject().fileTree(getSpotlessOutDirectory().get());
53+
ConfigurableFileTree files = getConfigCacheWorkaround().fileTree().from(getSpotlessOutDirectory().get());
5454
if (files.isEmpty()) {
5555
getState().setDidWork(sourceDidWork());
5656
} else if (!isTest && applyHasRun()) {

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

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@
2020
import java.nio.file.Files;
2121
import java.nio.file.Path;
2222
import java.nio.file.StandardCopyOption;
23-
import java.util.Comparator;
23+
24+
import javax.inject.Inject;
2425

2526
import org.gradle.api.GradleException;
27+
import org.gradle.api.file.FileSystemOperations;
2628
import org.gradle.api.provider.Property;
2729
import org.gradle.api.tasks.CacheableTask;
2830
import org.gradle.api.tasks.Internal;
@@ -40,6 +42,9 @@ public abstract class SpotlessTaskImpl extends SpotlessTask {
4042
@Internal
4143
abstract Property<SpotlessTaskService> getTaskService();
4244

45+
@Inject
46+
protected abstract FileSystemOperations getFs();
47+
4348
@TaskAction
4449
public void performAction(InputChanges inputs) throws Exception {
4550
getTaskService().get().registerSourceAlreadyRan(this);
@@ -49,7 +54,7 @@ public void performAction(InputChanges inputs) throws Exception {
4954

5055
if (!inputs.isIncremental()) {
5156
getLogger().info("Not incremental: removing prior outputs");
52-
getProject().delete(outputDirectory);
57+
getFs().delete(d -> d.delete(outputDirectory));
5358
Files.createDirectories(outputDirectory.toPath());
5459
}
5560

@@ -96,10 +101,7 @@ private void processInputFile(Formatter formatter, File input) throws IOExceptio
96101
private void deletePreviousResult(File input) throws IOException {
97102
File output = getOutputFile(input);
98103
if (output.isDirectory()) {
99-
Files.walk(output.toPath())
100-
.sorted(Comparator.reverseOrder())
101-
.map(Path::toFile)
102-
.forEach(File::delete);
104+
getFs().delete(d -> d.delete(output));
103105
} else {
104106
Files.deleteIfExists(output.toPath());
105107
}

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@
2020
import java.util.HashMap;
2121
import java.util.Map;
2222

23+
import javax.inject.Inject;
24+
2325
import org.gradle.api.DefaultTask;
26+
import org.gradle.api.model.ObjectFactory;
2427
import org.gradle.api.provider.Property;
2528
import org.gradle.api.services.BuildService;
2629
import org.gradle.api.services.BuildServiceParameters;
@@ -49,13 +52,16 @@ public void registerApplyAlreadyRan(SpotlessApply task) {
4952

5053
static String INDEPENDENT_HELPER = "Helper";
5154

52-
public static abstract class ClientTask extends DefaultTask {
55+
static abstract class ClientTask extends DefaultTask {
5356
@Internal
5457
abstract Property<File> getSpotlessOutDirectory();
5558

5659
@Internal
5760
abstract Property<SpotlessTaskService> getTaskService();
5861

62+
@Inject
63+
protected abstract ObjectFactory getConfigCacheWorkaround();
64+
5965
String sourceTaskPath() {
6066
String path = getPath();
6167
if (this instanceof SpotlessApply) {

0 commit comments

Comments
 (0)