refactor: rename Jdk9 sbt plugin to Jdk21#3075
Merged
Merged
Conversation
Motivation: The Jdk9 sbt plugin was historically named for JDK 9 features (e.g., java.util.concurrent.Flow), but since Java 17 became the minimum baseline, JDK 9 features are part of the standard build. The plugin's supportedJavaLTSVersions only contains "21" — it exclusively manages JDK 21+ source directories (virtual thread tests). The misleading name caused confusion. Modification: - Renamed Jdk9 → Jdk21, CompileJdk9 → CompileJdk21, TestJdk9 → TestJdk21 - Renamed files: Jdk9.scala → Jdk21.scala, CopyrightHeaderForJdk9.scala → CopyrightHeaderForJdk21.scala, ScalaFixForJdk9Plugin.scala → ScalaFixForJdk21Plugin.scala - Renamed PekkoDevelocityJdk9TestSettingsPlugin → PekkoDevelocityJdk21TestSettingsPlugin - Updated all references in build.sbt, project/*.scala, AGENTS.md - Updated CI workflows: build-test-prValidation.yml, dependency-graph.yml, generate-doc-check.yml - Cleaned up stale jdk9Only labels in TestExtras.scala (Flow tests are in regular source dirs) - Updated outdated comments: "requires jdk9+" → "project baseline is Java 17" - Updated CONTRIBUTING.md: "JDK > 10" → "JDK >= 17" - Cleaned up stale "jdk9+" references in docs test files and FlightRecording.scala Result: Build plugin names now accurately reflect their function (JDK 21 virtual thread tests). Developers and CI workflows use the clearer TestJdk21 configuration name. Stale JDK 9 references that no longer apply with Java 17 baseline are removed. Tests: - sbt "actor-tests / compile" — success - sbt "actor-tests / TestJdk21 / compile" — success (3 Scala + 2 Java JDK 21 sources compiled) - sbt "headerCreateAll" — success - git diff --check — clean References: None - build infrastructure cleanup
This was referenced Jun 15, 2026
He-Pin
added a commit
to apache/pekko-connectors
that referenced
this pull request
Jun 15, 2026
Motivation: Java 17 is the project baseline. Comments annotating deprecations introduced "in JDK 11+" or scalac options once unavailable on JDK 11 are now stating the obvious and add noise. Modification: - Drop the trailing `// deprecated in JDK 11+` comment from both `field.isAccessible()` call sites in `PekkoConnectorsResultMapperHelper.scala` (influxdb). The call itself is retained — only the now-redundant deprecation note is removed. - Update stale `// JDK 11 ...` notes in `project/Common.scala` and `build.sbt` to `// project baseline is Java 17: ...` (aligned with apache/pekko#3075 comment style). Result: No behavior change. Comments now reflect the actual Java baseline.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
The
Jdk9sbt plugin was historically named for JDK 9 features (e.g.,java.util.concurrent.Flow), but since Java 17 became the minimum baseline, JDK 9 features are part of the standard build. The plugin'ssupportedJavaLTSVersionsonly contains"21"— it exclusively manages JDK 21+ source directories (virtual thread tests). The misleading name caused confusion for developers.Modification
Jdk9→Jdk21,CompileJdk9→CompileJdk21,TestJdk9→TestJdk21Jdk9.scala→Jdk21.scala,CopyrightHeaderForJdk9.scala→CopyrightHeaderForJdk21.scala,ScalaFixForJdk9Plugin.scala→ScalaFixForJdk21Plugin.scalaPekkoDevelocityJdk9TestSettingsPlugin→PekkoDevelocityJdk21TestSettingsPluginbuild.sbt,project/*.scala,AGENTS.mdbuild-test-prValidation.yml,dependency-graph.yml,generate-doc-check.ymljdk9Onlylabels inTestExtras.scala(Flow tests are in regular source dirs since Java 17 is baseline)"requires jdk9+"→"project baseline is Java 17"CONTRIBUTING.md:"JDK > 10"→"JDK >= 17""jdk9+"references in docs test files andFlightRecording.scalaResult
Build plugin names now accurately reflect their function (JDK 21 virtual thread tests). Developers and CI workflows use the clearer
TestJdk21configuration name. Stale JDK 9 references that no longer apply with Java 17 baseline are removed.Tests
sbt "actor-tests / compile"— successsbt "actor-tests / TestJdk21 / compile"— success (3 Scala + 2 Java JDK 21 sources compiled toTestJdk21-classes)sbt "headerCreateAll"— successgit diff --check— cleanReferences
None - build infrastructure cleanup