Releases: sourcegraph/scip-java
lsif-java v0.5.1
Pull Requests
- Add --no-transfer-progress flag to maven invocation (#185) @Strum355
- Emit overridden methods for method SymbolInformation (#172) @Strum355
- Replace emitting MarkedString[] with MarkupContent (#179) @Strum355
- Remove
abstract
/static
from interface signature and pretty-printdefault
modifier (#176) @Strum355 - Add support for binary operator trees in annotations (#182) @Strum355
- Add server to host sources of published Java libraries (#184) @olafurpg
lsif-java v0.5.0
We are excited to announce the v0.5.0 release of lsif-java
🚀
Installing
Use Coursier to install lsif-java
.
cs install --contrib lsif-java
Upgrading
To upgrade to the latest release, run
cs upgrade lsif-java
Improved hover messages
Hover messages now include the full signature of the definition symbol, including annotations.
NOTE: currently, hover messages only render signatures that are defined in the local repository. Subscribe to #174 for updates on rendering signatures of external symbols that are defined outside of the local repository.
Gradle improvements
The lsif-java index
command should work now with the Playframework plugin for Gradle or the newly released Gradle v7.0.
First step towards navigation for Java libraries
The generated LSIF data now includes packageInformation
nodes to link to externally defined symbol. This is the first step towards enabling cross-repository navigation. The next step will be to extend the Sourcegraph backend to serve published Java libraries from Maven Central.
Visit this link to see a live demo of this functionality. The link points to the sources of the Guava library. Observe that you can navigate to symbols that are defined in the JDK, and you can also "find references" can show results from multiple repositories.
Multiple navigation improvements
Goto definition and find references should work better across the board. To name a few changes
- goto definition on a constructor now goes straight to the constructor instead of the class symbol
- goto definition on anonymous classes should give more reliably accurate results
- find references no longer includes confusing references to
this
Pull requests
- fix range building for tabs or mixed tabs/spaces files (#171) @Strum355
- Add support for the Gradle Playframework plugin. (#173) @olafurpg
- Add support for Gradle v7, fixes #164 (#168) @olafurpg
- Reduce emitted occurences noise from anonymous classes (#158) @Strum355
- dont emit references for 'this' (#159) @Strum355
- Pretty-print
throws
clause in method signatures (#160) @Strum355 - Enable cross-repo navigation. (#166) @olafurpg
- Disable GradleBuildToolSuite until #164 is fixed (#165) @olafurpg
- fix ctor range via textsearch & dont emit ref to class in ctro call (#156) @Strum355
- add pretty-printing of annotations on symbols (#148) @Strum355
- fix range building for all constructors (#151) @Strum355
- fix textDocument/reference -> textDocument/references (#149) @Strum355
- Add signature pretty-printer to lsif-semanticdb conversion process (#131) @Strum355
Internal pull requests
- Update dependency ch.epfl.scala:sbt-scalafix to v0.9.27 (#134) @renovate
- Update dependency net.bytebuddy:byte-buddy to v1.10.22 (#138) @renovate
- Update dependency ch.epfl.scala:sbt-bloop to v1.4.8-17-3eab1f80 (#133) @renovate
- Update dependency docusaurus to v1.14.7 (#137) @renovate
- Update dependency com.lihaoyi:pprint to v0.6.4 (#136) @renovate
- Update dependency com.geirsson:sbt-ci-release to v1.5.7 (#135) @renovate
- Update dependency net.bytebuddy:byte-buddy-agent to v1.10.22 (#139) @renovate
- Update dependency org.scalameta:munit to v0.7.23 (#140) @renovate
- Update dependency org.scalameta:sbt-mdoc to v2.2.19 (#141) @renovate
- Update documentation (#132) @olafurpg
lsif-java v0.3.0
🚀 New LSIF emitter
Previously, lsif-java
had a system dependency on a separate tool called lsif-semanticdb
in order to work. This dependency has now been removed so that installing lsif-java
is the only custom tool you need available on your $PATH
🚧 Progress towards better hover messages
Currently, hover messages only contain Javadoc docstrings. We're working on extending hover messages to also include signatures of the referenced symbol. This functionality is planned for the next release once the PR #131 is merged.
- Emit of type parameters in method signatures (#129) @Strum355
- Emit SemanticDB types and signatures (#126) @Strum355
🐛 Bug fixes
- Emit definition occurences for type parameters (#125) @Strum355
- Fixes range deriving for constructs incl classes/interfaces (#121) @Strum355
⚠️ Internal
lsif-java v0.2.0
New website
This project now has a new website https://sourcegraph.github.io/lsif-java/
Java v11+ support
Previously, the compiler plugin only supported Java 8 and crashed when running on newer versions like Java 11. Now, the compiler plugin works with Java 11, Java 15 and most likely the latest bleeding edge versions as well.
New lsif-java
command-line tool with Gradle and Maven support
Previously, users had to manually install the compiler plugin into their build tool to use lsif-java. Now, the new lsif-java
command-line tool can automatically configure Gradle and Maven builds to generate an LSIF index.
Pull Requests
lsif-java v0.2.0-RC2
Java v11+ support
Previously, the compiler plugin only supported Java 8 and crashed when running on newer versions like Java 11. Now, the compiler plugin works with Java 11, Java 15 and most likely the latest bleeding edge versions as well.
New lsif-java
command-line tool with Gradle and Maven support
Previously, users had to manually install the compiler plugin into their build tool to use lsif-java. Now, the new lsif-java
command-line tool can automatically configure Gradle and Maven builds to generate an LSIF index.
Pull Requests
lsif-java v0.1.0
lsif-java v0.1.0
This it the first release of lsif-java that implement a basic Java compiler plugin that generates SemanticDB. See the PR #85 and the new readme https://github.com/sourcegraph/lsif-java/blob/e8822340b2854e6d45856cd055620c5784099bff/README.md for more details.