Skip to content

Commit 88e6298

Browse files
committed
SpotlessCheck now pipes the actual encoding to the error message rather than just assuming UTF-8.
1 parent 36947e6 commit 88e6298

File tree

5 files changed

+14
-4
lines changed

5 files changed

+14
-4
lines changed

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import java.io.ByteArrayOutputStream;
1919
import java.io.File;
2020
import java.io.IOException;
21-
import java.nio.charset.StandardCharsets;
2221
import java.nio.file.Files;
2322
import java.util.ArrayList;
2423
import java.util.Arrays;
@@ -29,13 +28,18 @@
2928
import org.gradle.api.file.ConfigurableFileTree;
3029
import org.gradle.api.file.FileVisitDetails;
3130
import org.gradle.api.file.FileVisitor;
31+
import org.gradle.api.provider.Property;
32+
import org.gradle.api.tasks.Internal;
3233
import org.gradle.api.tasks.TaskAction;
3334

3435
import com.diffplug.spotless.FileSignature;
3536
import com.diffplug.spotless.ThrowingEx;
3637
import com.diffplug.spotless.extra.integration.DiffMessageFormatter;
3738

3839
public abstract class SpotlessCheck extends SpotlessTaskService.ClientTask {
40+
@Internal
41+
public abstract Property<String> getEncoding();
42+
3943
public void performActionTest() throws IOException {
4044
performAction(true);
4145
}
@@ -98,7 +102,7 @@ public void visitFile(FileVisitDetails fileVisitDetails) {
98102
.formatterFolder(
99103
getProject().getRootDir().toPath(),
100104
getSpotlessOutDirectory().get().toPath(),
101-
StandardCharsets.UTF_8.name())
105+
getEncoding().get())
102106
.problemFiles(problemFiles)
103107
.getMessage());
104108
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,10 @@ protected void createFormatTasks(String name, FormatExtension formatExtension) {
112112
});
113113

114114
TaskProvider<SpotlessCheck> checkTask = tasks.register(taskName + CHECK, SpotlessCheck.class, task -> {
115-
task.getSpotlessOutDirectory().set(spotlessTask.get().getOutputDirectory());
115+
SpotlessTask source = spotlessTask.get();
116+
task.getSpotlessOutDirectory().set(source.getOutputDirectory());
116117
task.getTaskService().set(taskService);
118+
task.getEncoding().set(source.getEncoding());
117119
task.setEnabled(!isIdeHook);
118120
task.dependsOn(spotlessTask);
119121

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
import com.diffplug.spotless.FormatterStep;
4343
import com.diffplug.spotless.LineEnding;
4444

45-
public class SpotlessTask extends DefaultTask {
45+
public abstract class SpotlessTask extends DefaultTask {
4646
// set by SpotlessExtension, but possibly overridden by FormatExtension
4747
protected String encoding = "UTF-8";
4848

plugin-gradle/src/test/java/com/diffplug/gradle/spotless/DiffMessageFormatterTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import java.io.File;
1919
import java.io.IOException;
20+
import java.nio.charset.StandardCharsets;
2021
import java.util.ArrayList;
2122
import java.util.Arrays;
2223
import java.util.Collections;
@@ -70,6 +71,7 @@ private SpotlessCheck createCheckTask(String name, SpotlessTask source) {
7071
SpotlessCheck task = project.getTasks().create("spotless" + SpotlessPlugin.capitalize(name) + "Check", SpotlessCheck.class);
7172
task.getSpotlessOutDirectory().set(source.getOutputDirectory());
7273
task.getTaskService().set(taskService);
74+
task.getEncoding().set(StandardCharsets.UTF_8.name());
7375
return task;
7476
}
7577

plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import java.io.File;
2121
import java.io.IOException;
22+
import java.nio.charset.StandardCharsets;
2223
import java.util.Arrays;
2324
import java.util.Collections;
2425

@@ -74,6 +75,7 @@ private SpotlessCheck createCheckTask(String name, SpotlessTask source) {
7475
SpotlessCheck task = project.getTasks().create("spotless" + SpotlessPlugin.capitalize(name) + "Check", SpotlessCheck.class);
7576
task.getTaskService().set(taskService);
7677
task.getSpotlessOutDirectory().set(source.getOutputDirectory());
78+
task.getEncoding().set(StandardCharsets.UTF_8.name());
7779
return task;
7880
}
7981

0 commit comments

Comments
 (0)