Skip to content

Releases: sourcegraph/scip-java

lsif-java v0.5.6

15 Jun 13:16
fd09a0c
Compare
Choose a tag to compare

Improved error handling

Previously, the lsif-semanticdb command could fail with an exception when processing certain SemanticDB files. This release includes improvements to error handling so that lsif-semanticdb should fail less frequently, and it should report a more helpful error message in the cases where it still fails.

Pull Requests

  • Return empty SymbolDescriptor for empty symbol (#254) @olafurpg
  • Update dependency ch.epfl.scala:sbt-scalafix to v0.9.29 (#237) @renovate
  • Update dependency ch.epfl.scala:sbt-bloop to v1.4.8-43-c2d941d9 (#236) @renovate
  • Update dependency com.lihaoyi:pprint to v0.6.6 (#239) @renovate
  • Update dependency org.scalameta:munit to v0.7.26 (#241) @renovate
  • Update dependency org.scalameta:sbt-mdoc to v2.2.21 (#242) @renovate
  • Update dependency pl.project13.scala:sbt-jmh to v0.4.3 (#243) @renovate
  • Update dependency net.bytebuddy:byte-buddy-agent to v1.11.1 (#249) @renovate
  • Update olafurpg/setup-scala action to v12 (#247) @renovate
  • Update dependency com.google.cloud.sql:postgres-socket-factory to v1.3.0 (#250) @renovate
  • Upgrade to the latest sbt-sourcegraph (#233) @olafurpg

lsif-java v0.5.5

31 May 12:01
ee59136
Compare
Choose a tag to compare

Improved ANSI color output

Previously, lsif-java used default color output settings when shelling out to Maven and Gradle. Now, lsif-java uses --batch-mode for Maven and TERM=dumb for Gradle to reduce ANSI color output (helpful for CI logs). Additionally, the NO_COLOR=true environment variable is respected so that you can disable all ANSI color output.

Pull Requests

lsif-java v0.5.4

21 May 19:26
99b6f0b
Compare
Choose a tag to compare

Use kind: local for local symbols

Use "local" instead of "import" for local symbol monikers. (#228) @olafurpg. This should help reduce storage size on Sourcegraph

lsif-java v0.5.3

19 May 17:49
32ff67b
Compare
Choose a tag to compare

Improved cross-repo navigation

Previously, cross-repo navigation would frequently fail to work, in particular when navigating to symbols from the JDK. This release includes several fixes so that cross-repo navigation should in general work more reliably now.

New -targetroot:javac-classes-directory

Thanks to a contribution from @wiwa, it's possible to configure the semanticdb-javac compiler plugin to emit SemanticDB files in the same directory where the compiler emits classfiles. This makes it easier to integrate lsif-java with a build tool since you can use the same -targetroot:javac-classes-directory for all projects/modules in a build. Previously, it was necessary to provide an explicit directory for every project/module.

Pull Requests

  • Improve handling of moniker import/exports and the JDK (#227) @olafurpg
  • Allow javac plugin to infer targetroot from javac class output directory (#224) @wiwa
  • Declare local symbols as "export" instead "import" monikers (#222) @olafurpg
  • Fix minor PackageHub regressions (#220) @olafurpg
  • Disable auto-indexing on packagehub (#225) @olafurpg
  • Specify yarn version for website (#226) @olafurpg
  • Add --ttl 0 flag in auto-indexing image to always pick up latest is lsif-java (#223) @olafurpg
  • skip outputting lsif snapshot for files located outside the sourceroot (#195) @Strum355
  • Remove unused dependency in the Java agent (#218) @olafurpg
  • Use the correct JDK version when indexing Java packages. (#215) @olafurpg
  • Add support for npm packages in PackageHub (#214) @olafurpg
  • Fix bug for cross-repo navigation to the JDK sources. (#212) @olafurpg
  • Pin Docker digests (#196) @renovate
  • Remove --no-transfer-progress from Maven command (#210) @olafurpg
  • Add dockerfile for auto-indexing (#209) @olafurpg
  • abstract semanticdb builders and move tree modeling to new class (#194) @Strum355
  • Several PackageHub fixes (#193) @olafurpg
  • handle unresolved annotation parameter tree differences (#191) @Strum355

lsif-java v0.5.1

26 Apr 19:56
92b2ba8
Compare
Choose a tag to compare

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-print default 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

20 Apr 14:34
04287b3
Compare
Choose a tag to compare

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.

CleanShot 2021-04-20 at 16 26 59@2x

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.

CleanShot 2021-04-20 at 16 24 47@2x

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

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

31 Mar 15:42
1e4df32
Compare
Choose a tag to compare

🚀 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.

🐛 Bug fixes

  • Emit definition occurences for type parameters (#125) @Strum355
  • Fixes range deriving for constructs incl classes/interfaces (#121) @Strum355

⚠️ Internal

  • adds snapshot command to lsif-java cli (#117) @Strum355
  • fixes snapshot generator comment // insertion (#120) @Strum355
  • updates semanticdb.proto for updated Documentation field/message (#119) @Strum355

lsif-java v0.2.0

05 Mar 15:14
Compare
Choose a tag to compare

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

04 Mar 12:17
Compare
Choose a tag to compare

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

11 Feb 17:56
Compare
Choose a tag to compare

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.

⚠️ This project is still under development so there is nothing to try out at the moment. Subscribe to the "releases" event to get notifications about further progress.

Screenshot 2021-02-11 at 18 55 42