diffplug / diffplug/spotless

./gradlew spotlessGroovy fails when containing Closure like () -> {}

Ouverte
#1,807 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub
bug
Langage dominant
Java
Étoiles
5.6k
Forks
559
Merge moyen
1 j 14 h
PR mergées (30 j)
43

Description

## Summary
`./gradlew spotlessGroovy` fails on the following simple groovy code.
```groovy
class A {
def closure = () -> { println("Hello") }
}
```

A part of error:
```
java.lang.RuntimeException: Snippet9317c627808d48a9aa0df9d7f2ce9fe2.groovy: 2: unexpected token: ) @ line 2, column 17.
def closure = () -> { println("Hello") }
```

## Configuration
```
plugins {
id("java")
id("groovy")
id("com.diffplug.spotless") version "6.21.0"
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
mavenCentral()
}

dependencies {
testImplementation(platform("org.junit:junit-bom:5.9.1"))
testImplementation("org.junit.jupiter:junit-jupiter")
testImplementation("org.apache.groovy:groovy-all:4.0.14")
}

tasks.test {
useJUnitPlatform()
}

spotless {
groovy {
greclipse()
}
}
```

## Environment
```sh
% java -version
openjdk version "17.0.8" 2023-07-18 LTS
OpenJDK Runtime Environment Corretto-17.0.8.7.1 (build 17.0.8+7-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.8.7.1 (build 17.0.8+7-LTS, mixed mode, sharing)
```
```sh
% ./gradlew --version

------------------------------------------------------------
Gradle 8.2
------------------------------------------------------------

Build time: 2023-06-30 18:02:30 UTC
Revision: 5f4a070a62a31a17438ac998c2b849f4f6892877

Kotlin: 1.8.20
Groovy: 3.0.17
Ant: Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM: 17.0.8 (Amazon.com Inc. 17.0.8+7-LTS)
OS: Mac OS X 13.5.2 aarch64

```

## Stack Trace(` ./gradlew spotlessApply --stacktrace > out 2>&1 `)
https://gist.github.com/polyomino24/4cbc3f0900a4dc85577151b70ad97cb8

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Reproduisez l’échec avec la classe Groovy d’exemple en exécutant ./gradlew spotlessGroovy avec la configuration greclipse indiquée, puis inspectez le chemin du formateur impliqué par la stack trace. La tâche est terminée lorsque la commande accepte et formate une closure Groovy écrite sous la forme () -> {} sans déclencher l’unexpected-token error.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
groovy, java
Domaine
build-system
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.