Remove the Kotlin/JVM implementation; the Rust CLI is now the only ba… - #484
Open
tinder-maxwellelliott wants to merge 1 commit into
Open
Conversation
…zel-diff
The Rust implementation under src/ has shipped alongside the original
Kotlin CLI as `//:bazel-diff-rust` and passes the same behavioral suite.
This makes it the only implementation: `//:bazel-diff` now resolves to
`//src:bazel-diff`, and everything that existed only to build, test,
compare or publish the JVM CLI is gone.
Removed
- cli/ (Kotlin sources, JUnit tests, ktfmt/format targets) and proto/
(the java_proto_library wrappers; the Rust build generates its bindings
from rust/proto/*.proto via the cargo build script).
- rules_java, rules_kotlin, rules_jvm_external, the maven extension,
stardoc, rules_proto, grpc and the ktfmt repo from MODULE.bazel, plus
the rules_kotlin LCOV-merger patch. MODULE.bazel.lock regenerated.
- WORKSPACE support (WORKSPACE, WORKSPACE.bzlmod, repositories.bzl,
constants.bzl, artifacts.bzl, extensions.bzl, maven_install.json): the
Rust build is crate_universe/bzlmod-only, so nothing could be built
through it.
- The Kotlin-vs-Rust comparison tooling (tools/benchmark.py,
tools/perf_gate.py, tools/perf_workload.py and their tests, the
perf-gate workflow) and docs/kotlin-*.md, which have no second
implementation to compare against.
- The Kotlin half of the e2e splitter (tools/e2e), the ktfmt format cron
and the JVM CI jobs (test-jre21, test-jre11-run-example's JDK setup,
release.yaml's java-tests, the deploy JAR build and release asset).
Moved / repointed
- E2E fixtures: cli/src/test/resources/{fixture,workspaces} ->
tests/resources/, with .bazelignore, .gitattributes, tests/BUILD and
tests/e2e/support/mod.rs following.
- Formatter targets: cli/format -> tools/format (buildifier, rustfmt);
`//:format` is now the rustfmt fixer.
- //release:bazel-diff-rust -> //release:bazel-diff (asset file names
keep the bazel-diff-rust-<os>-<arch> prefix so existing download URLs
still resolve). //:bazel-diff-rust stays as an alias for BCR
verify_targets and existing consumers.
- The serve harnesses, the Alpine stress container and the Firecracker
bench/guest-image scripts run the static musl binary instead of the
deploy JAR; the corresponding workflows build
`//release:bazel-diff --config=release-musl`.
- tools/coverage_check.py defaults to `src/`; CI's coverage matrix is
now the `coverage` job and gates Rust and Go independently.
- README regenerated from the template with the Rust CLI's help text;
installation now covers prebuilt binaries and bzlmod only.
Verified: `bazel build //:bazel-diff` (Bazel 8.7.0) with the trimmed
module graph, `cargo test --lib --bin`, and the Python tooling tests.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BBybxwigT5qLjL6iuXC463
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.
…zel-diff
The Rust implementation under src/ has shipped alongside the original Kotlin CLI as
//:bazel-diff-rustand passes the same behavioral suite. This makes it the only implementation://:bazel-diffnow resolves to//src:bazel-diff, and everything that existed only to build, test, compare or publish the JVM CLI is gone.Removed
Moved / repointed
tests/resources/, with .bazelignore, .gitattributes, tests/BUILD and tests/e2e/support/mod.rs following.
//:formatis now the rustfmt fixer.//release:bazel-diff --config=release-musl.src/; CI's coverage matrix is now thecoveragejob and gates Rust and Go independently.Verified:
bazel build //:bazel-diff(Bazel 8.7.0) with the trimmed module graph,cargo test --lib --bin, and the Python tooling tests.