Skip to content

Merge scip-kotlin into scip-java#877

Draft
jupblb wants to merge 1 commit into
mainfrom
michal/scip-kotlin
Draft

Merge scip-kotlin into scip-java#877
jupblb wants to merge 1 commit into
mainfrom
michal/scip-kotlin

Conversation

@jupblb
Copy link
Copy Markdown
Member

@jupblb jupblb commented May 11, 2026

Test plan

N/A

Imports the scip-kotlin Kotlin compiler plugin (latest commit 8df49a9 from
github.com/sourcegraph/scip-kotlin) into this repository so both indexer
plugins live in a single codebase.

Source code under semanticdb-kotlinc/:
- semanticdb-kotlinc/src/                      plugin source + tests + proto
- semanticdb-kotlinc/minimized/src/            snapshot fixtures + golden snaps

Build (build.sbt, project/plugins.sbt):
- new SBT plugins: sbt-kotlin-plugin, sbt-jupiter-interface
- new sbt projects:
    * kotlinc           — fat-jar via assembly + IntelliJ shading
    * kotlincMinimized  — uses LOCAL javacPlugin fat-jar (Keys.`package`),
                          not the published com.sourcegraph:semanticdb-javac,
                          which avoids NoSuchMethodError on JDK 21 and the
                          missing-shaded-protobuf-classes error
- top-level kotlincSnapshots task regenerates SCIP snapshots through the
  local cli (no separate snapshotsRunner project needed)
- both kotlin projects have compile/test aggregate := false because
  kotlinc 2.2.0 requires JDK 11+ (the main matrix runs on JDK 8/11/17/21)
- JavaFormatterPlugin disabled on kotlincMinimized so sbt-java-formatter
  does not rewrite the hand-formatted Java fixtures

Snapshots regenerated against the LOCAL javacPlugin and so include the
newer enclosing_range markers and package references that the old published
semanticdb-javac (used by scip-kotlin) did not emit.

CI (.github/workflows/ci.yml):
- new 'kotlin' job (JDK 11) running kotlinc/test, kotlincMinimized/
  kotlincSnapshots, and a snapshot drift check (mirrors the previous
  scip-kotlin CI)

Misc:
- .gitignore now ignores the kctfork test artifact
  (/semanticdb-kotlinc/META-INF/)
- .github/labeler.yml: added graph/scip-kotlin label
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