Add parentheses for method invocations with no argument

Closes gh-907
This commit is contained in:
Stephane Nicoll 2019-05-21 11:39:04 +02:00
parent fd8ebf728c
commit 75228ba4a3
2 changed files with 11 additions and 2 deletions

View File

@ -189,8 +189,9 @@ public class GroovyDslGradleBuildWriter extends GradleBuildWriter {
@Override
protected String invocationAsString(
GradleBuild.TaskCustomization.Invocation invocation) {
return invocation.getTarget() + " "
+ String.join(", ", invocation.getArguments());
String arguments = (invocation.getArguments().isEmpty()) ? "()"
: " " + String.join(", ", invocation.getArguments());
return invocation.getTarget() + arguments;
}
@Override

View File

@ -183,6 +183,14 @@ class GroovyDslGradleBuildWriterTests {
" dependsOn test", "}");
}
@Test
void gradleBuildWithTaskCustomizedWithInvocationAndNoArgument() throws IOException {
GradleBuild build = new GradleBuild();
build.customizeTask("test", (task) -> task.invoke("myMethod"));
List<String> lines = generateBuild(build);
assertThat(lines).containsSequence("test {", " myMethod()", "}");
}
@Test
void gradleBuildWithTaskCustomizedWithAssignments() throws IOException {
GradleBuild build = new GradleBuild();