Repository navigation
Conversation
Carry forward CodeQL's jdeps and language/API-version customizations for the new upstream release, and fix redundant string conversions rejected by the upgraded Kotlin compiler. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
jketema
force-pushed
the
copilot/update-rules-kotlin-2.4.21
branch
from
October 30, 2026 13:17
b81c919 to
86050c1
Compare
jketema
marked this pull request as ready for review
October 30, 2026 14:22
Contributor
There was a problem hiding this comment.
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Copilot review overview
2 open issues
What changed in this PR
Updates the Bazel registry entry and repository module configuration for rules_kotlin to 2.4.21-codeql.1 while preserving CodeQL-specific patches and pinning the Kotlin compiler to 2.2.21 to retain support for older language/API versions used by extractors.
Changes:
- Bump
rules_kotlinmodule version in the internal registry and rootMODULE.bazel, adding akotlinc_versionpin via the module extension. - Add a new
2.4.21-codeql.1registrysource.jsonplus CodeQL patches (language/API mapping and javac warning-mode propagation behavior). - Minor extractor/build adjustments (remove redundant string conversions; add missing coroutines jar placeholder).
| File | Description |
|---|---|
| misc/bazel/registry/modules/rules_kotlin/metadata.json | Updates registry version list to 2.4.21-codeql.1. |
| misc/bazel/registry/modules/rules_kotlin/2.4.21-codeql.1/source.json | Adds new source archive + patch set for 2.4.21-codeql.1. |
| misc/bazel/registry/modules/rules_kotlin/2.4.21-codeql.1/patches/codeql_do_not_propagate_kotlin_warning_mode_to_javac.patch | Prevents Kotlin warning mode from affecting javac warnings. |
| misc/bazel/registry/modules/rules_kotlin/2.4.21-codeql.1/patches/codeql_add_language_version_option.patch | Adjusts language-version flag mapping to keep API version aligned and allow <2.0. |
| misc/bazel/registry/modules/rules_kotlin/2.2.2-codeql.1/source.json | Removes old 2.2.2-codeql.1 source.json entry. |
| misc/bazel/registry/modules/rules_kotlin/2.2.2-codeql.1/patches/codeql_do_not_emit_jdeps.patch | Tweaks patch formatting/context for the old entry. |
| misc/bazel/registry/modules/rules_kotlin/2.2.2-codeql.1/patches/codeql_add_language_version_option.patch | Removes old patch content for 2.2.2-codeql.1. |
| misc/bazel/registry/modules/rules_kotlin/2.2.2-codeql.1/MODULE.bazel | Updates module metadata/deps, but under the 2.2.2-codeql.1 directory. |
| java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt | Removes redundant toString() conversions for string literals. |
| java/kotlin-extractor/deps.bzl | Adds kotlinx-coroutines-core-jvm.jar to symlink list. |
| MODULE.bazel | Bumps rules_kotlin and pins Kotlin compiler to 2.2.21 via extension. |
Review effort: Lite (auto)
Format the compiler override's generated repository imports for readability and update registry links to the current bazel-contrib upstream, retaining the old repository ID as an alias. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This branch has not been deployed
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.

I would have preferred not to do this, as we depend on Kotlin 2.2.21, which is the default with
rules_kotlin2.2.2. However, I cannot update our Abseil dependency without this, as that transitively pulls inrules_kotlin2.3.20, breaking our build.Updates
rules_kotlinto2.4.21-codeql.1and carries forward the two CodeQL-specific modifications from the 2.2.2 registry entry: the language/API version mapping and disabling jdeps emission. The registry metadata and module dependency use the matching CodeQL suffix; the archive remains pinned to upstream 2.4.21. Both patches retain standard three-line unified-diff context. No extra source-archive module-version rewrite patch is added.Pins Kotlin compiler
2.2.21through the rules_kotlin module extension to support the Kotlin 1.8 and 1.9 language/API versions still required by older extractor variants. The new rules default to Kotlin 2.4, which no longer supports those versions. The language-version patch also removes the new analysis-time restriction to language versions 2.0 and newer.The rules_kotlin patch keeps Kotlin warning settings scoped to Kotlin compilation rather than propagating them to javac. Java warnings remain visible and are not promoted to errors by Kotlin
warn = "error". The extractor build provides the compiler classpath’skotlinx-coroutines-core-jvm.jarmanifest entry. Redundant Kotlin string conversions rejected by the upgraded compiler are also removed.