diff --git a/changelog/@unreleased/pr-687.v2.yml b/changelog/@unreleased/pr-687.v2.yml new file mode 100644 index 000000000..409417f6b --- /dev/null +++ b/changelog/@unreleased/pr-687.v2.yml @@ -0,0 +1,6 @@ +type: improvement +improvement: + description: |- + Spotless check for disallowing dangling parenthesis. + links: + - https://github.com/palantir/gradle-baseline/pull/687 diff --git a/gradle-baseline-java/src/main/groovy/com/palantir/baseline/plugins/BaselineFormat.java b/gradle-baseline-java/src/main/groovy/com/palantir/baseline/plugins/BaselineFormat.java index 62c4dc9ab..7ec594b1d 100644 --- a/gradle-baseline-java/src/main/groovy/com/palantir/baseline/plugins/BaselineFormat.java +++ b/gradle-baseline-java/src/main/groovy/com/palantir/baseline/plugins/BaselineFormat.java @@ -50,6 +50,9 @@ public void apply(Project project) { // No empty lines at start of blocks java.replaceRegex("Block starts with blank lines", "\\) \\{\n+", ") {\n"); + + // No dangling parentheses - closing paren must be on the same line as the expression + java.replaceRegex("Dangling closing parenthesis", "(\n\\s+)+\\)", ")"); }); // necessary because SpotlessPlugin creates tasks in an afterEvaluate block diff --git a/gradle-baseline-java/src/test/groovy/com/palantir/baseline/BaselineFormatIntegrationTest.groovy b/gradle-baseline-java/src/test/groovy/com/palantir/baseline/BaselineFormatIntegrationTest.groovy index 846c20e88..40b3db4f8 100644 --- a/gradle-baseline-java/src/test/groovy/com/palantir/baseline/BaselineFormatIntegrationTest.groovy +++ b/gradle-baseline-java/src/test/groovy/com/palantir/baseline/BaselineFormatIntegrationTest.groovy @@ -38,6 +38,11 @@ class BaselineFormatIntegrationTest extends AbstractPluginTest { package test; public class Test { void test() { int x = 1; + System.out.println( + "Hello"); + Optional.of("hello").orElseGet(() -> { + return "Hello World"; + }); } } '''.stripIndent() @@ -48,6 +53,12 @@ class BaselineFormatIntegrationTest extends AbstractPluginTest { int x = 1; + System.out.println( + "Hello" + ); + Optional.of("hello").orElseGet(() -> { + return "Hello World"; + }); } } '''.stripIndent()