{"id":28518187,"url":"https://github.com/sourcegraph/scip-kotlin","last_synced_at":"2026-01-11T17:46:24.668Z","repository":{"id":38239282,"uuid":"355191816","full_name":"sourcegraph/scip-kotlin","owner":"sourcegraph","description":"SCIP indexer for Kotlin. Implemented as a SemanticDB compiler plugin.","archived":false,"fork":false,"pushed_at":"2025-08-13T04:36:50.000Z","size":656,"stargazers_count":22,"open_issues_count":18,"forks_count":16,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-08-18T01:31:32.443Z","etag":null,"topics":["compiler","kotlin","kotlin-compiler-plugin","scip","semanticdb","sourcegraph"],"latest_commit_sha":null,"homepage":"https://sourcegraph.github.io/scip-java/docs/getting-started.html","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sourcegraph.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-04-06T13:06:26.000Z","updated_at":"2025-07-09T07:04:29.000Z","dependencies_parsed_at":"2024-04-22T02:13:24.483Z","dependency_job_id":"52c4319b-4bc0-439d-a47a-4c5ec993d22c","html_url":"https://github.com/sourcegraph/scip-kotlin","commit_stats":null,"previous_names":["sourcegraph/lsif-kotlin"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/sourcegraph/scip-kotlin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcegraph%2Fscip-kotlin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcegraph%2Fscip-kotlin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcegraph%2Fscip-kotlin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcegraph%2Fscip-kotlin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sourcegraph","download_url":"https://codeload.github.com/sourcegraph/scip-kotlin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcegraph%2Fscip-kotlin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271755406,"owners_count":24815398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","kotlin","kotlin-compiler-plugin","scip","semanticdb","sourcegraph"],"created_at":"2025-06-09T05:36:13.823Z","updated_at":"2026-01-11T17:46:24.634Z","avatar_url":"https://github.com/sourcegraph.png","language":"Kotlin","readme":"# Kotlin SCIP support\n\u003cimg src=\"https://img.shields.io/maven-central/v/com.sourcegraph/semanticdb-kotlinc?style=flat-square\" /\u003e\n\nThis codebase implements a Kotlin compiler plugin that can be used together with\n[scip-java](https://sourcegraph.github.io/scip-java) to emit\n[SCIP](https://github.com/sourcegraph/scip) indexes for Kotlin projects.\n\n\n## Getting started\n\nThis project must be used together with scip-java. Visit\n[scip-java](https://sourcegraph.github.io/scip-java/) for instructions on how to\nindex Kotlin projects with scip-java. Note that scip-java indexes Kotlin sources\neven if you have no Java code.\n\n## Kotlin version compatibility\n\nAny given release of scip-kotlin only supports one major version of Kotlin.\nUse the table below to find the version of scip-kotlin that matches the Kotlin\nversion you are using in your project.\n\n| Kotlin version | scip-kotlin version |\n|----------------|---------------------|\n| 1.8.x          | 0.3.2               |\n| 1.9.x          | 0.4.0               |\n\n## SemanticDB support\n\nThis project is implemented as a\n[SemanticDB](https://scalameta.org/docs/semanticdb/specification.html) compiler\nplugin. To generate SCIP, you first compile the Kotlin sources with the\nSemanticDB compiler plugin and then convert SemanticDB files into SCIP using\n`scip-java index-semanticdb`. See [Low-level usage](#low-level-usage) for more\ndetails on how to generate SemanticDB files and convert SemanticDB into SCIP.\n\n## Low-level usage\n\n\nFirst, fetch the jar file of the SemanticDB compiler plugin:\n[`com.sourcegraph:semanticdb-kotlinc:VERSION`](https://mvnrepository.com/artifact/com.sourcegraph/semanticdb-kotlinc).\nFor example, you can use\n[Coursier](https://get-coursier.io) to download the jar file.\n\n```sh\ncurl -fLo coursier https://github.com/coursier/launchers/raw/master/coursier \u0026\u0026 chmod +x ./coursier\nexport SEMANTICDB_KOTLIN_VERSION=\"latest.release\" # or replace with a particular version\nexport SEMANTICDB_KOTLIN_JAR=$(./coursier fetch com.sourcegraph:semanticdb-kotlinc:$SEMANTICDB_KOTLIN_VERSION)\n```\n\nOnce you have the jar file, you need to determine two compiler options:\n\n- `sourceroot`: the absolute path to the root directory of your codebase. All\n  source files that you want to index should be under this directory. For Gradle\n  codebases, this is typically the toplevel `build.gradle` file. For Maven\n  codebases, this is typically the toplevel `pom.xml` file.\n- `targetroot`: the absolute path to the directory where you want the compiler\nplugin to write SemanticDB files. This can be any directory on your computer.\n\nNow you have all the necessary parameters to invoke the Kotlin compiler with\nthe SemanticDB compiler plugin.\n\n```sh\nkotlinc -Xplugin=${SEMANTICDB_KOTLIN_JAR} \\\n  -P plugin:semanticdb-kotlinc:sourceroot=SOURCEROOT_DIRECTORY \\\n  -P plugin:semanticdb-kotlinc:targetroot=TARGETROOT_DIRECTORY\n```\n\nOnce the compilation is complete, the targetroot should contain `*.semanticdb`\nfiles in the `META-INF/semanticdb` sub-directory.\n\nTo convert the SemanticDB files into SCIP, run `scip-java index TARGETROOT_DIRECTORY`.\nIf you have Coursier installed, you can run scip-java directly like this\n\n```sh\ncd $SOURCEROOT_DIRECTORY\n./coursier launch --contrib scip-java -- index-semanticdb TARGETROOT_DIRECTORY\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcegraph%2Fscip-kotlin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsourcegraph%2Fscip-kotlin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcegraph%2Fscip-kotlin/lists"}