Skip to content

Drop user-facing support for ScipBuildTool#886

Closed
jupblb wants to merge 2 commits into
mainfrom
michal/scip-index-2
Closed

Drop user-facing support for ScipBuildTool#886
jupblb wants to merge 2 commits into
mainfrom
michal/scip-index-2

Conversation

@jupblb
Copy link
Copy Markdown
Member

@jupblb jupblb commented May 27, 2026

No description provided.

jupblb added 2 commits May 27, 2026 13:49
ScipBuildTool is now an internal worker dispatched only when the Bazel
aspect (scip_java.bzl) invokes 'scip-java index --scip-config <file>'.

User-facing changes:
- Remove 'index-dependency' subcommand.
- Hide --scip-config, --scip-ignored-javac-option-prefixes,
  --scip-ignored-annotation-processors, and --strict-compilation from
  'scip-java index --help'.
- Drop the 'SCIP Build Tool' help section and fix the misplaced
  description on --build-command.
- Stop auto-detecting lsif-java.json / scip-java.json files; the only
  supported build tools advertised to users are Maven and Gradle.
- Drop jq from the Dockerfile, Nix flake, dev-shell docs, and the
  scip-java docker wrapper (it only existed to read lsif-java.json).

Internal:
- BuildTool.autoOrdered no longer lists ScipBuildTool.
- IndexCommand.run() early-returns into ScipBuildTool when --scip-config
  is provided, keeping the Bazel aspect functional.
- ScipBuildTool.usedInCurrentDirectory() always returns false and
  parsedConfig only reads index.scipConfig.

Tests/snapshots:
- Remove ScipBuildToolSuite, TracingServer, LibrarySnapshotGenerator,
  AggregateSnapshotGenerator, SemanticdbJavacSnapshotGenerator,
  LibrarySnapshotSuite, and the org/jetbrains/exposed snapshot fixtures.
- SaveSnapshots and SnapshotSuite are simplified to only drive
  MinimizedSnapshotScipGenerator.
ScipBuildTool is dispatched exclusively from IndexCommand.run() when the
Bazel aspect passes --scip-config, so a lot of its surface area was dead
code. Net: -501 lines.

ScipBuildTool:
- No longer extends BuildTool. It does not participate in detection, so
  the name/isHidden/usedInCurrentDirectory overrides served no purpose.
  generateScip() is renamed to run().
- Drop the Kotlin compilation path (~150 lines, K2JVMCompiler, message
  collector, MPP common-source handling). The Bazel aspect only writes
  *.java files to sourceFiles, so this code was unreachable.
- Drop Coursier-based dependency resolution. The aspect passes the full
  classpath directly, never the 'dependencies' field.
- Drop Coursier-based JVM resolution (JvmIndex/JvmCache/JavaHome). The
  aspect always sets 'javaHome'; the worker now requires it.
- Drop the JDK 'kind' branch and module-info partitioning. Bazel never
  sets 'kind'.
- Drop the strictCompilation gate and the in-class ListBuffer that used
  to combine Java + Kotlin compile attempts.
- Slim Config from 13 to 9 fields (drop dependencies, jvm, kind, plus
  the Dependency case class and custom codec).

IndexCommand:
- Drop --strict-compilation (only consumed by the removed code path).
- Drop --scip-ignored-javac-option-prefixes and
  --scip-ignored-annotation-processors. These were never propagated by
  BazelBuildTool to the per-target invocations, so they were dead.

Dependencies.scala:
- Drop kotlinMPPCommon (sole caller was the removed Kotlin compile
  path).

build.sbt:
- Drop the cli project's runtime dependency on kotlin-compiler-embeddable
  and the four kotlin-scripting-* artifacts; nothing in the cli
  references them anymore.

GradleJavaToolchains.scala:
- Drop the @language("Groovy") IDE hint; its provider class was only
  available transitively via the kotlin-compiler-embeddable artifact we
  just removed.
@jupblb jupblb closed this May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant