Skip to content

Commit c6cfb6d

Browse files
committed
Remove the FormatExceptionPolicy from the Formatter because it will become part of linting.
1 parent 7bd9c59 commit c6cfb6d

File tree

6 files changed

+9
-36
lines changed

6 files changed

+9
-36
lines changed

lib/src/main/java/com/diffplug/spotless/Formatter.java

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,18 @@ public final class Formatter implements Serializable, AutoCloseable {
3636
private LineEnding.Policy lineEndingsPolicy;
3737
private Charset encoding;
3838
private List<FormatterStep> steps;
39-
private FormatExceptionPolicy exceptionPolicy;
4039

41-
private Formatter(LineEnding.Policy lineEndingsPolicy, Charset encoding, List<FormatterStep> steps, FormatExceptionPolicy exceptionPolicy) {
40+
private Formatter(LineEnding.Policy lineEndingsPolicy, Charset encoding, List<FormatterStep> steps) {
4241
this.lineEndingsPolicy = Objects.requireNonNull(lineEndingsPolicy, "lineEndingsPolicy");
4342
this.encoding = Objects.requireNonNull(encoding, "encoding");
4443
this.steps = requireElementsNonNull(new ArrayList<>(steps));
45-
this.exceptionPolicy = Objects.requireNonNull(exceptionPolicy, "exceptionPolicy");
4644
}
4745

4846
// override serialize output
4947
private void writeObject(ObjectOutputStream out) throws IOException {
5048
out.writeObject(lineEndingsPolicy);
5149
out.writeObject(encoding.name());
5250
out.writeObject(steps);
53-
out.writeObject(exceptionPolicy);
5451
}
5552

5653
// override serialize input
@@ -59,7 +56,6 @@ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundE
5956
lineEndingsPolicy = (LineEnding.Policy) in.readObject();
6057
encoding = Charset.forName((String) in.readObject());
6158
steps = (List<FormatterStep>) in.readObject();
62-
exceptionPolicy = (FormatExceptionPolicy) in.readObject();
6359
}
6460

6561
// override serialize input
@@ -80,10 +76,6 @@ public List<FormatterStep> getSteps() {
8076
return steps;
8177
}
8278

83-
public FormatExceptionPolicy getExceptionPolicy() {
84-
return exceptionPolicy;
85-
}
86-
8779
public static Formatter.Builder builder() {
8880
return new Formatter.Builder();
8981
}
@@ -93,7 +85,6 @@ public static class Builder {
9385
private LineEnding.Policy lineEndingsPolicy;
9486
private Charset encoding;
9587
private List<FormatterStep> steps;
96-
private FormatExceptionPolicy exceptionPolicy;
9788

9889
private Builder() {}
9990

@@ -112,14 +103,8 @@ public Builder steps(List<FormatterStep> steps) {
112103
return this;
113104
}
114105

115-
public Builder exceptionPolicy(FormatExceptionPolicy exceptionPolicy) {
116-
this.exceptionPolicy = exceptionPolicy;
117-
return this;
118-
}
119-
120106
public Formatter build() {
121-
return new Formatter(lineEndingsPolicy, encoding, steps,
122-
exceptionPolicy == null ? FormatExceptionPolicy.failOnlyOnError() : exceptionPolicy);
107+
return new Formatter(lineEndingsPolicy, encoding, steps);
123108
}
124109
}
125110

@@ -157,9 +142,12 @@ public String compute(String unix, File file) {
157142
unix = LineEnding.toUnix(formatted);
158143
}
159144
} catch (Throwable e) {
160-
// TODO: this is not accurate, but it won't matter when add support for linting
161-
String relativePath = file.toString();
162-
exceptionPolicy.handleError(e, step, relativePath);
145+
// TODO: this is bad, but it won't matter when add support for linting
146+
if (e instanceof RuntimeException) {
147+
throw (RuntimeException) e;
148+
} else {
149+
throw new RuntimeException(e);
150+
}
163151
}
164152
}
165153
return unix;
@@ -172,7 +160,6 @@ public int hashCode() {
172160
result = prime * result + encoding.hashCode();
173161
result = prime * result + lineEndingsPolicy.hashCode();
174162
result = prime * result + steps.hashCode();
175-
result = prime * result + exceptionPolicy.hashCode();
176163
return result;
177164
}
178165

@@ -190,8 +177,7 @@ public boolean equals(Object obj) {
190177
Formatter other = (Formatter) obj;
191178
return encoding.equals(other.encoding) &&
192179
lineEndingsPolicy.equals(other.lineEndingsPolicy) &&
193-
steps.equals(other.steps) &&
194-
exceptionPolicy.equals(other.exceptionPolicy);
180+
steps.equals(other.steps);
195181
}
196182

197183
@SuppressWarnings("rawtypes")

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,6 @@ Formatter buildFormatter() {
178178
.lineEndingsPolicy(getLineEndingsPolicy().get())
179179
.encoding(Charset.forName(encoding))
180180
.steps(steps)
181-
.exceptionPolicy(exceptionPolicy)
182181
.build();
183182
}
184183
}

plugin-maven/src/main/java/com/diffplug/spotless/maven/FormatterFactory.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import org.apache.maven.project.MavenProject;
3333

3434
import com.diffplug.common.collect.Sets;
35-
import com.diffplug.spotless.FormatExceptionPolicyStrict;
3635
import com.diffplug.spotless.Formatter;
3736
import com.diffplug.spotless.FormatterStep;
3837
import com.diffplug.spotless.LineEnding;
@@ -103,7 +102,6 @@ public final Formatter newFormatter(Supplier<Iterable<File>> filesToFormat, Form
103102
return Formatter.builder()
104103
.encoding(formatterEncoding)
105104
.lineEndingsPolicy(formatterLineEndingPolicy)
106-
.exceptionPolicy(new FormatExceptionPolicyStrict())
107105
.steps(formatterSteps)
108106
.build();
109107
}

testlib/src/main/java/com/diffplug/spotless/StepHarness.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ public static StepHarness forStepNoRoundtrip(FormatterStep step) {
5454
.steps(Arrays.asList(step))
5555
.lineEndingsPolicy(LineEnding.UNIX.createPolicy())
5656
.encoding(StandardCharsets.UTF_8)
57-
.exceptionPolicy(new FormatExceptionPolicyStrict())
5857
.build(), RoundTrip.DONT_ROUNDTRIP);
5958
}
6059

testlib/src/main/java/com/diffplug/spotless/StepHarnessWithFile.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public static StepHarnessWithFile forStep(ResourceHarness harness, FormatterStep
4040
.encoding(StandardCharsets.UTF_8)
4141
.lineEndingsPolicy(LineEnding.UNIX.createPolicy())
4242
.steps(Collections.singletonList(step))
43-
.exceptionPolicy(new FormatExceptionPolicyStrict())
4443
.build());
4544
}
4645

testlib/src/test/java/com/diffplug/spotless/FormatterTest.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import java.nio.file.FileSystem;
2222
import java.nio.file.FileSystems;
2323
import java.nio.file.Path;
24-
import java.nio.file.Paths;
2524
import java.util.ArrayList;
2625
import java.util.Collections;
2726
import java.util.List;
@@ -30,7 +29,6 @@
3029
import org.junit.jupiter.api.Test;
3130
import org.mockito.Mockito;
3231

33-
import com.diffplug.common.base.StandardSystemProperty;
3432
import com.diffplug.spotless.generic.EndWithNewlineStep;
3533

3634
class FormatterTest {
@@ -79,9 +77,6 @@ protected Formatter create() {
7977
public void testExceptionWithSentinelNoFileOnDisk() throws Exception {
8078
LineEnding.Policy lineEndingsPolicy = LineEnding.UNIX.createPolicy();
8179
Charset encoding = StandardCharsets.UTF_8;
82-
FormatExceptionPolicy exceptionPolicy = FormatExceptionPolicy.failOnlyOnError();
83-
84-
Path rootDir = Paths.get(StandardSystemProperty.USER_DIR.value());
8580

8681
FormatterStep step = Mockito.mock(FormatterStep.class);
8782
Mockito.when(step.getName()).thenReturn("someFailingStep");
@@ -92,7 +87,6 @@ public void testExceptionWithSentinelNoFileOnDisk() throws Exception {
9287
.lineEndingsPolicy(lineEndingsPolicy)
9388
.encoding(encoding)
9489
.steps(steps)
95-
.exceptionPolicy(exceptionPolicy)
9690
.build();
9791

9892
formatter.compute("someFileContent", Formatter.NO_FILE_SENTINEL);
@@ -103,7 +97,6 @@ public void testExceptionWithSentinelNoFileOnDisk() throws Exception {
10397
public void testExceptionWithRootDirIsNotFileSystem() throws Exception {
10498
LineEnding.Policy lineEndingsPolicy = LineEnding.UNIX.createPolicy();
10599
Charset encoding = StandardCharsets.UTF_8;
106-
FormatExceptionPolicy exceptionPolicy = FormatExceptionPolicy.failOnlyOnError();
107100

108101
Path rootDir = Mockito.mock(Path.class);
109102
FileSystem customFileSystem = Mockito.mock(FileSystem.class);
@@ -131,7 +124,6 @@ public void testExceptionWithRootDirIsNotFileSystem() throws Exception {
131124
.lineEndingsPolicy(lineEndingsPolicy)
132125
.encoding(encoding)
133126
.steps(steps)
134-
.exceptionPolicy(exceptionPolicy)
135127
.build();
136128

137129
formatter.compute("someFileContent", new File("/some/folder/some.file"));

0 commit comments

Comments
 (0)