Allow spotless greclipse.properties to be selected via configuration
- Langage dominant
- Java
- Étoiles
- 5.6k
- Forks
- 559
- Merge moyen
- 1 j 14 h
- PR mergées (30 j)
- 43
Description
The default formatting configuration of `greclipse` isn't very standard or desirable. However, spotless configures [`greclipse.properties`](https://github.com/diffplug/spotless/blob/main/testlib/src/main/resources/groovy/greclipse/format/greclipse.properties) in a much more standard way.
For example, compare the default formatting of `googleJavaFormat` to `greclipse`. They're very different.
If you Google `site:github.com "greclipse.properties"`, you will find that many projects simply copied this file as defined by spotless.
Instead of having to copy `greclipse.properties` into every project, it'd be sweet if we could just select this formatting configuration by spotless via configuration, for example:
```xml
spotless
```
EDIT:
Unfortunately, I spoke too soon. I didn't realize spotless's [`greclipse.properties`](https://github.com/diffplug/spotless/blob/main/testlib/src/main/resources/groovy/greclipse/format/greclipse.properties) sets the following (I assume for testing):
```properties
groovy.formatter.braces.start=next
groovy.formatter.braces.end=same
```
These settings aren't very typical. I propose the following settings to stay consistent with [`googleJavaFormat`](https://google.github.io/styleguide/javaguide.html) as well as with examples on the [Groovy style guide](https://groovy-lang.org/style-guide.html):
```properties
groovy.formatter.braces.end=next
groovy.formatter.braces.start=same
groovy.formatter.longListLength=100
groovy.formatter.multiline.indentation=4
groovy.formatter.remove.unnecessary.semicolons=true
org.eclipse.jdt.core.formatter.indent_empty_lines=false
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.tabulation.size=2
```
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par examiner testlib/src/main/resources/groovy/greclipse/format/greclipse.properties et le point d’entrée de la configuration du formateur greclipse. Comparez les propriétés Spotless référencées avec les paramètres révisés dans l’issue et déterminez comment sélectionner une configuration nommée. C’est terminé lorsque les projets peuvent choisir la configuration sans copier le fichier de propriétés et que le formatage obtenu correspond aux paramètres documentés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- groovy, java
- Domaine
- build-system, tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100