@@ -13,7 +13,24 @@ tools that we're planning to support in the future.
1313
1414The most common way to use ` lsif-java ` is to run it from CI to upload LSIF
1515indexes after merging a pull request. The easiest way to install ` lsif-java ` is
16- to use the Java launcher.
16+ to use the Docker launcher.
17+
18+ ### Docker container
19+
20+ Run the ` lsif-java index ` command from the ` sourcegraph/lsif-java ` Docker
21+ container.
22+
23+ ``` sh
24+ $ docker run -v $( pwd) :/home/gradle sourcegraph/lsif-java:latest lsif-java index
25+ $ src lsif upload # (optional) upload index to Sourcegraph
26+ ```
27+
28+ If everything went OK, a ` dump.lsif ` file should exist after the command has
29+ finished indexing the project.
30+
31+ > The Docker container re-downloads all dependencies on every run, which can be
32+ > slow for large projects. Consider using the [ Java launcher] ( #java-launcher )
33+ > instead to re-use the existing build cache of your project.
1734
1835### Java launcher
1936
@@ -104,7 +121,7 @@ libraryDependencies += "com.sourcegraph" %% "lsif-java" % "@STABLE_VERSION@"
104121
105122## Run ` lsif-java index `
106123
107- > The ` index ` command is only supported for Gradle and Maven, see
124+ > The ` index ` command is only supported for Gradle, Maven and sbt. See
108125> [ Supported build tools] ( #supported-build-tools ) for more details about other
109126> build tools.
110127
@@ -113,7 +130,7 @@ This command should automatically infer the structure of your codebase and
113130configure your build tool to generate LSIF.
114131
115132``` sh
116- # At the root of a Gradle or Maven codebase.
133+ # At the root of a Gradle, Maven or sbt codebase.
117134$ lsif-java index
118135...
119136info: /path/to/dump.lsif
@@ -138,7 +155,7 @@ com.sourcegraph.lsif_java.LsifJava.printHelp(Console.out)
138155| -------------------- | ------ | ----- | --- | ----------------------------------------------------------- |
139156| Java | ✅ | ✅ | ✅ | |
140157| Scala | ✅ | ❌ | ✅ | [ #302 ] ( https://github.com/sourcegraph/lsif-java/issues/302 ) |
141- | Kotlin | ❌ | ❌ | ❌ | [ #304 ] ( https://github.com/sourcegraph/lsif-java/issues/304 ) |
158+ | Kotlin | ✅ | ❌ | n/a | [ #304 ] ( https://github.com/sourcegraph/lsif-java/issues/304 ) |
142159
143160### Java
144161
@@ -147,17 +164,17 @@ part of your regular compilation in the build tool. By using Java compiler APIs,
147164` lsif-java ` is able to generate accurate indexing information for a broad range
148165of Java versions.
149166
150- | Java version | Support |
151- | ------------ | ------------------------------ |
152- | Java 7 | ❌ |
153- | Java 8 | ✅ |
154- | Java 11 | ✅ |
155- | Java 12 | Not tested in CI, but may work |
156- | Java 13 | Not tested in CI, but may work |
157- | Java 14 | Not tested in CI, but may work |
158- | Java 15 | ✅ |
159- | Java 16 | Not tested in CI, but may work |
160- | Java 17 | Not tested in CI, but may work |
167+ | Java version | Support | Tracking issue |
168+ | ------------ | ------------------------------ | -------------------------------------------------------------------------------- |
169+ | Java 7 | ❌ | |
170+ | Java 8 | ✅ | |
171+ | Java 11 | ✅ | |
172+ | Java 12 | Not tested in CI, but may work | |
173+ | Java 13 | Not tested in CI, but may work | |
174+ | Java 14 | Not tested in CI, but may work | |
175+ | Java 15 | ✅ | |
176+ | Java 16 | ❌ | |
177+ | Java 17 | ❌ | [ sourcegraph/lsif-java # 263 ] ( https://github.com/sourcegraph/lsif-java/issues/263 ) |
161178
162179### Scala
163180
@@ -174,6 +191,13 @@ by [Metals](https://scalameta.org/metals), the Scala language server.
174191
175192> Scala.js and Scala Native have equal support as Scala on the JVM.
176193
194+ ### Kotlin
195+
196+ The Kotlin support in lsif-java is the least mature compared to the Java and
197+ Scala support. Don't hesitate to report issues at
198+ https://github.com/sourcegraph/lsif-kotlin if you encounter issues using the
199+ Kotlin support.
200+
177201## Supported build tools
178202
179203It's possible to use lsif-java with any Java build tool. Some build tools can be
@@ -188,7 +212,7 @@ free to subscribe to the tracking issues to receive updates on your build tool.
188212| Build tool | Java | Scala | Kotlin | Tracking issue |
189213| ---------- | ---- | ----- | ------ | -------------------------------------------------------------------------------- |
190214| Maven | ✅ | ❌ | ❌ | |
191- | Gradle | ✅ | ✅ | ❌ | |
215+ | Gradle | ✅ | ✅ | ✅ | |
192216| sbt | ✅ | ✅ | n/a | |
193217| Ant | ❌ | ❌ | ❌ | [ sourcegraph/lsif-java #305 ] ( https://github.com/sourcegraph/lsif-java/issues/305 ) |
194218| Bazel | ❌ | ❌ | ❌ | [ sourcegraph/lsif-java #88 ] ( https://github.com/sourcegraph/lsif-java/issues/88 ) |
@@ -214,8 +238,8 @@ projects. However, the following Gradle integrations are not yet supported:
214238
215239| Integration | Supported | Tracking issue |
216240| ----------- | --------- | -------------------------------------------------------------------------------- |
217- | Android | ❌ | [ sourcegraph/lsif-java #304 ] ( https://github.com/sourcegraph/lsif-java/issues/304 ) |
218- | Kotlin | ❌ | [ sourcegraph/lsif-java # 177 ] ( https://github.com/sourcegraph/lsif-java/issues/177 ) |
241+ | Android | ❌ | [ sourcegraph/lsif-java #177 ] ( https://github.com/sourcegraph/lsif-java/issues/177 ) |
242+ | Kotlin | ✅ | |
219243| Scala | ✅ | |
220244
221245### Maven
0 commit comments