String wrapping is not idempotent
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Riproducete il problema con l’esempio TestFormat.java fornito usando il JAR all-deps di google-java-format 1.15.0 o 1.16.0 su Java 17. Eseguite ripetutamente la formattazione e confrontate il layout della stringa di switch-expression dopo ogni passaggio. L’attività è completata quando la formattazione del file invariato produce un output identico a ogni esecuzione successiva.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
This happened with the all deps jar from github, for both versions 1.15.0 and 1.16.0.
$ java --version
openjdk 17.0.6 2023-01-17
OpenJDK Runtime Environment (build 17.0.6+10)
OpenJDK 64-Bit Server VM (build 17.0.6+10, mixed mode)
Example code is
package com.example;
public class TestFormat {
public void main() {
var value = 1;
var responseMessage =
switch (value) {
case 1 -> "This is a long string;This is a long string;This is a long string;This is a long string;This is a long string;This is a long string;This is a long string;";
case 2 -> "some short string";
case 3 -> "some medium string some medium string some medium string some medium string";
};
}
}
Now these strings in the switch statement will be different formatted depending on how often I call google java format.
Weirdly enough, the cosium maven plugin (gjf v1.15.0) does not change the strings in this example at all. This would be preferable for me, but mostly I want a consistent format.
## executing preview only
$ java -jar /home/dev/dev/libs/google-java-format-1.15.0-all-deps.jar Testformat.java
package com.example;
public class TestFormat {
public void main() {
var value = 1;
var responseMessage =
switch (value) {
case 1 -> "This is a long string;This is a long string;This is a long string;This is a"
+ " long string;This is a long string;This is a long string;This is a long"
+ " string;";
case 2 -> "some short string";
case 3 -> "some medium string some medium string some medium string some medium string";
};
}
}
## applying changes
$ java -jar /home/dev/dev/libs/google-java-format-1.15.0-all-deps.jar -r Testformat.java
## executing preview only
$ java -jar /home/dev/dev/libs/google-java-format-1.15.0-all-deps.jar Testformat.java
package com.example;
public class TestFormat {
public void main() {
var value = 1;
var responseMessage =
switch (value) {
case 1 -> "This is a long string;This is a long string;This is a long string;This is a"
+ " long string;This is a long string;This is a long string;This is a long"
+ " string;";
case 2 -> "some short string";
case 3 -> "some medium string some medium string some medium string some medium string";
};
}
}
The expectation would be that once I format a file every future format call would not change anything anymore as long as nothing was changed on the file.
- Lingua principale
- Java
- Stelle
- 6.2k
- Fork
- 936
- Merge medio
- 6m
- PR unite (30g)
- 3
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di google/google-java-format
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
google/google-java-format#1094 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Complementary TeamupsAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
google/google-java-format#1450 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
google/google-java-format#1439 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
google/google-java-format#1436 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
google/google-java-format#1428 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di google/google-java-format
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
ci-failure-cause test-failure
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
nextcloud/notes-android#3367 ·
I maintainer di solito rispondono entro 1 giorno
-
Feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
MuntashirAkon/AppManager#2058 ·
-
SarifLogger: artifactLocation.uri is not properly encoded for file names containing '#', '?', or '%'Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
checkstyle/checkstyle#21721 ·
I maintainer di solito rispondono entro 1 giorno