External Compatibility Validation for google-java-format on Future JDK Versions
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Es sind keine spezifischen Dateien, Tests oder Einstiegspunkte identifiziert. Überprüfe zunächst die bestehende CI, Build-Skripte und Testumgebung und kläre dann, welche zukünftigen JDK-Versionen und Validierungsszenarien im Umfang liegen; abgeschlossen wäre eine vereinbarte experimentelle Konfiguration oder ein Branch mit reproduzierbaren Kompatibilitätsbefunden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hi everyone,
I would like to share an idea we are currently considering: doing some external validation and tracking work around google-java-format’s compatibility with future JDK versions.
This is not a request for the official project to maintain multiple codebases, create separate official releases for different Java versions, or replace the existing test suite. Our goal is also not to maintain a performance-focused fork.
From the current project setup, google-java-format relies on jdk.compiler / javac-related APIs to parse and format Java source code. This makes it sensitive to the runtime JDK version, new Java language syntax, and changes in JDK internal APIs. The project has already raised its minimum runtime JDK requirement to JDK 21 and continues to track compatibility with newer JDK versions and Java language features.
Because of that, our goal is not to ask the project to maintain multiple Java baselines or change the current minimum runtime JDK requirement. Instead, we would like to do early compatibility validation around future JDK versions, so that potential issues in newer JDK environments can be identified earlier.
This kind of validation may include, but is not limited to:
- Compatibility issues when running the formatter on JDK 22, JDK 23, JDK 24, JDK 25, or later versions
- Formatting differences caused by new Java syntax or preview features
- Formatting issues related to Javadoc / Markdown documentation comments or other documentation syntax changes
- Issues caused by changes in
jdk.compiler/ javac internal APIs - Java module system access restrictions or
--add-exportsrelated issues - Compatibility differences in CLI, IDE plugin, Maven, or Gradle integration scenarios
- CI, build script, or test environment compatibility issues
- Issues users may encounter when using google-java-format on newer JDK environments
Our current idea is to maintain a small number of external experimental compatibility branches or test environments for future JDK versions. The official project can continue normal development on the current main branch, current minimum runtime JDK requirement, and existing release cadence. We would take responsibility for syncing with upstream, running relevant tests, recording issues, and maintaining these experimental validation efforts.
These branches or test environments are not intended to become official separate codebases unless the project and community later find clear value in them. At this stage, their main purpose would be compatibility validation, collecting feedback, and preparing useful reference information for future adaptation to new JDKs or Java language features.
If there is real demand, we may maintain two or three external compatibility validation branches or test configurations for future JDK versions over the long term and report useful findings upstream when helpful. For issues that can be addressed independently, we would document them as reproducible issues or submit small, focused PRs instead of asking the project to review or maintain a large fork.
The goal of this effort is to identify potential compatibility risks google-java-format may face with future JDK versions, new Java language syntax, and javac-related API changes as early as possible, and to provide useful information for future adaptation work without adding extra maintenance burden to the official project.
Thank you for your time, and thank you for maintaining google-java-format.
- Vorherrschende Sprache
- Java
- Sterne
- 6.2k
- Forks
- 940
- Ø Merge
- 5 Min.
- Gemergte PRs (30 T.)
- 6
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus google/google-java-format
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
google/google-java-format#1094 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
google/google-java-format#1470 · 5 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
IndexOutOfBoundsException - Wrong formatted content when dealing with latex StringEvtl. wieder frei @Amlan2000 hat das vor 56 Tagen übernommen, und es ist kein Pull Request offen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
google/google-java-format#1439 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
unused import removal leaves extra blank line between package declaration and class Javadoc / declarationEvtl. vergeben @arimu1 hat das vor 65 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 62/100
google/google-java-format#1436 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Eclipse
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
google/google-java-format#1428 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in google/google-java-format
Ähnliche Issues
-
[Bug] The producer summary counts an unreported client version as a second version and warns about a version mixEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
apache/rocketmq-dashboard#6110 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
`Processing lsp` never exits and leaves orphaned processesEvtl. vergeben @overcast302 hat das heute übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
processing/processing4#1578 · 1 Kommentar ·
-
ASM is not up-to-dateOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 60/100
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG] S3 CORS responses omit Access-Control-Allow-Credentials for matched originsEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
floci-io/floci#5369 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
securityHeaders replaces a route's own Content-Security-Policy (0.9.9; weakens embedders' pages)Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag