Skip to content

Update dependency com.sourcegraph:semanticdb-javac to v0.11.0 #107

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Jul 7, 2025

This PR contains the following updates:

Package Change Age Confidence
com.sourcegraph:semanticdb-javac 0.6.12 -> 0.11.0 age confidence
com.sourcegraph:semanticdb-javac 0.8.23 -> 0.11.0 age confidence

Test plan: CI should pass with updated dependencies. No review required: this is an automated dependency update PR.


Release Notes

sourcegraph/scip-java (com.sourcegraph:semanticdb-javac)

v0.11.0

🚨Support for Kotlin 1 is dropped. Only supported Kotlin version now is 2.1

What's Changed

Full Changelog: sourcegraph/scip-java@v0.10.4...v0.11.0

v0.10.4

This release

  • fixes several crashes in the javac plugin,
  • adds support for srcjars in Bazel aspects
  • adds support for JDK 21 in docker image

What's Changed

New Contributors

Full Changelog: sourcegraph/scip-java@v0.10.3...v0.10.4

v0.10.3

What's Changed

Full Changelog: sourcegraph/scip-java@v0.10.2...v0.10.3

v0.10.2

This release fixes a couple of bugs with the annotation parameters, and also fixes an issue in error reporting which led to exceptions being swallowed and not printed correctly.

What's Changed

Full Changelog: sourcegraph/scip-java@v0.10.1...v0.10.2

v0.10.1

What's Changed

New Contributors

Full Changelog: sourcegraph/scip-java@v0.10.0...v0.10.1

v0.10.0

IMPORTANT NOTE FOR SOURCEGRAPH USERS: this release changes how symbol signatures are emitted in the generated SCIP indexes. If you want to use this version of scip-java with your sourcegraph instance, make sure that it's at least on version 5.4.5099 or above. Otherwise you will notice symbol hovers not being populated with the signatures. The default version of scip-java in Sourcegraph will eventually be upgraded to this one.

What's Changed

Full Changelog: sourcegraph/scip-java@v0.9.10...v0.10.0

v0.9.10

This release addresses

  • a NPE in the Java Semanticdb plugin, triggered by particular usage of annotations(see #​686, the fix was contributed by @​Arthurm1 and reproducer was reported by @​spangaer, community members, thank you!)
  • an issue in Gradle integration which was responsible for some cases where semanticdb plugin failed to be injected

Main changes

Misc

Full Changelog: sourcegraph/scip-java@v0.9.9...v0.9.10

v0.9.9

Kotlin 1.9 support

See https://github.com/sourcegraph/scip-kotlin/releases/tag/v0.4.0

What's Changed

Full Changelog: sourcegraph/scip-java@v0.9.8...v0.9.9

v0.9.8

What's Changed

Full Changelog: sourcegraph/scip-java@v0.9.7...v0.9.8

v0.9.7

What's Changed

New Contributors

Full Changelog: sourcegraph/scip-java@v0.9.6...v0.9.7

v0.9.6: 0.9.6

This release brings in a fix for Scala projects auto-indexing, where java version was picked up incorrectly.

What's Changed

Full Changelog: sourcegraph/scip-java@v0.9.5...v0.9.6

v0.9.5: 0.9.5

This release modifes the Docker build and makes it self-contained, which fixes the various issues we have with passing special (-D) arguments to the scip-java tool.

Most of this distribution remains unchanged so users should not see any difference.

What's Changed

Full Changelog: sourcegraph/scip-java@v0.9.4...v0.9.5

v0.9.4

Thanks to a fantastic contribution by @​Arthurm1, this release mostly removes the need to add special module export flags to access compiler APIs - as we no longer use private APIs to produce Semanticdb files from Java.

What's Changed

New Contributors

Full Changelog: sourcegraph/scip-java@v0.9.3...v0.9.4

v0.9.3

This release bumps sbt-sourcegraph plugin to 0.4.2 bringing important fixes to auto-indexing of Scala projects, notably:

  • Properly support Scala 3
  • Support mixed Java/Scala sources when compling on JDK 17+

We also re-enabled test coverage for auto-indexing Scala projects.

What's Changed

Full Changelog: sourcegraph/scip-java@v0.9.2...v0.9.3

v0.9.2

This release improves auto-indexing of Gradle projects and removes the Coursier bootstrap sequence which downloaded jars from Maven Central when running SCIP build tool

What's Changed

Full Changelog: sourcegraph/scip-java@v0.9.1...v0.9.2

v0.9.1

This release improves the handling of special environment variables recognised by Coursier:

What's Changed

Full Changelog: sourcegraph/scip-java@v0.9.0...v0.9.1

v0.9.0

Kotlin 1.8

This release upgrades scip-kotlin to v0.3.2, bumping the lowest supported Kotlin version to 1.8.0. See the scip-kotlin v0.3.2 release for more info.

Other Changes

Full Changelog: sourcegraph/scip-java@v0.8.26...v0.9.0

v0.8.26

More robust error handling for Bazel

This release includes two changes related to how the semanticdb-javac compiler plugin handles unexpected failures, which previously crashed the compilation but should now allow compilation to continue.

Full Changelog: sourcegraph/scip-java@v0.8.25...v0.8.26

v0.8.25

Find implementations for Kotlin

This release upgrades scip-kotlin to v0.3.1, which adds support for "Find implementations" https://github.com/sourcegraph/scip-kotlin/releases/tag/v0.3.1

Improved cross-repo navigation

Previously, due to implementation details, it was not possible to index two separate Gradle or Maven codebases and get cross-repo navigation working between those projects. This didn't work due to implementation details, which are now fixed in this release. For example, you can now index two Gradle codebases and if one project refers to symbols that are defined in the other project then cross-repo navigation should work. The only constraint is that the declared publication version in the upstream project must match the version of the dependency in the downstream project.

What's Changed

New Contributors

Full Changelog: sourcegraph/scip-java@v0.8.24...v0.8.25

v0.8.24

Automatic Bazel/Java indexing

This release adds support to automatically index Java/Bazel codebases without changing BUILD or WORKSPACE configuration. See the updated documentation here https://sourcegraph.github.io/scip-java/docs/getting-started.html#bazel

To automatically index a Bazel/Java codebase, install the latest scip-java version and run the command

scip-java index "--bazel-scip-java-binary=$(which scip-java)"

Big thanks to @​keynmol for reviewing this large PR 🙏🏻

Other changes

Full Changelog: sourcegraph/scip-java@v0.8.23...v0.8.24

v0.8.23

New -no-relative-path: flag to control indexing of generated files

Previously, the SemanticDB compiler plugin errored when indexing auto-generated files outside of the configured -sourceroot directory (which is automatically inferred for Bazel builds). This behavior was undesirable because:

  • There's no good workaround for the issue
  • The error message was cryptic making it difficult to understand what went wrong

For some cases, we were able to detect this situation for Bazel and ignore the indexed file while printing an informative message, but this behavior was also undesirable because we skipping these files means that we can't render hover messages for symbols in those generated files.

This PR fixes the issue by adding a configurable -no-relative-path: flag with the following valid options:

  • index_anyways (default): indexes the file but with no guarantee that it's possible to recover the location of the original generated file. This allows us to display accurate hover tooltips for symbols in these files even if "Go to definition" won't work.
  • skip: silently ignored these files.
  • warning: ignore these files and print a message explaining it was skipped.
  • error: fail the compilation process (old default).

Full Changelog: sourcegraph/scip-java@v0.8.22...v0.8.23

v0.8.22

Bazel improvements

Mill improvements

New Contributors

Full Changelog: sourcegraph/scip-java@v0.8.20...v0.8.22

v0.8.20

Release equivalent to 0.8.19

the release notes are from 0.8.19

This is a maintenace release which doesn't contain many user-facing features

  • Support --build-tool=auto to trust the build tool detection logic, instead of specifying it manually
  • Internal (for now) Gradle plugin to emit SCIP files - which replaces our previous init script approach - this allows us to support Gradle 8 as well, along with toolchains
    This is the most significant internal change, please report any issues, we're looking for feedback!
  • Speculative and primitive JDK version detection - 17, 11, 8 are tried in sequence until first succeeds

What's Changed

Full Changelog: sourcegraph/scip-java@v0.8.18...v0.8.20

v0.8.18

What's Changed

Full Changelog: sourcegraph/scip-java@v0.8.17...v0.8.18

v0.8.17

What's Changed

Full Changelog: sourcegraph/scip-java@v0.8.16...v0.8.17

v0.8.16

Add reference relationship between synthetic case class symbols

Previously, doing "Find references" on a synthetic case class symbol (for example, named parameter of a copy method) then it only showed usages of that symbol and the non-synthetic symbol (for example, the case class field that matches the copy parameter). It didn't return usages of other synthetic symbols that also relate to the case class field (for example, the apply parameter).

This release fixes that issue

Pull Requests

v0.8.15

Improved Scala support when emitting SCIP

Previously, Scala users were recommended to use LSIF instead of SCIP because scip-java didn't fully encode Scala features like case classes when using the SCIP format. This issue is fixed now and the SCIP emitter is now a superset of LSIF.

Note that when uploading SCIP files to Sourcegraph, the code navigation still works a bit differently compared to when using the LSIF format. The Sourcegraph backend is still missing a few changes in how it interprets SCIP data.

The snapshot command now snapshots SCIP files instead of SemanticDB files

Previously, running scip-java snapshot it would snapshot *.semanticdb files. Now, the scip-java snapshot command only snapshots *.scip files. To snapshot *.semanticdb files, downgrade to scip-java v0.8.14.

What's Changed

New Contributors

Full Changelog: sourcegraph/scip-java@v0.8.10...v0.8.15

v0.8.10: scip-java v0.8.10

What's Changed

Full Changelog: sourcegraph/scip-java@v0.8.9...v0.8.10

v0.8.9: scip-java v0.8.9

What's Changed

Full Changelog: sourcegraph/scip-java@v0.8.8...v0.8.9

v0.8.7: scip-java v0.8.7

What's Changed

Full Changelog: sourcegraph/scip-java@v0.8.6...v0.8.7

v0.8.6: scip-java v0.8.6

What's Changed

Full Changelog: sourcegraph/scip-java@v0.8.4...v0.8.6

v0.8.4: scip-java v0.8.4

Improved Java 17 support

Previously, scip-java index would fail in Gradle and Maven projects using Java 17 due to missing --add-exports flags. These flags are now automatically configured for Gradle and Maven when running on Java 17 or newer.

Mill build tool support

The scip-java index command can now automatically index codebases using the Mill build tool (https://com-lihaoyi.github.io/mill/mill/Intro\_to\_Mill.html). Thank you @​ckipp01 for contributing this addition 🙏

Improved Scala indexing

This releases fixes the following code navigation issues related to Scala anonymous classes, implicit conversions, structural types, and overriding fields.

What's Changed

New Contributors

Full Changelog: sourcegraph/scip-java@v0.8.1...v0.8.4

v0.8.3: scip-java v0.8.3

See v0.8.4 release notes https://github.com/sourcegraph/scip-java/releases/tag/v0.8.4

v0.8.1: scip-java v0.8.1

Bugfix: make scip-java index work with sbt builds

The rename from lsif-java to scip-java introduced a bug where it was no longer possible to index sbt builds. This release fixes this bug by updating to the latest version of the sbt-sourcegraph plugin, which now uses scip-java instead of lsif-java.

Pull Requests

v0.8.0: scip-java v0.8 with Bazel support and "Find implementations"

We are excited to announce the release of scip-java v0.8. The highlights of this release include:

  • New name: the project was previously called "lsif-java" and it has now been renamed into "scip-java" to reflect that it now emits a code indexing format called SCIP by default.
  • Find implementations: it’s now possible to navigate from interfaces and abstract methods to the implementations to their concrete implementations.
  • Bazel support: it’s now possible to use scip-java with Bazel builds.

New name: scip-java

We recently released SCIP, a new protocol that we are using at Sourcegraph to power precise code navigation. Previously, our Java indexer was called lsif-java because it emitted LSIF (Language Server Index Format) by default. We have renamed the indexer into scip-java to reflect that it now emits SCIP by default.

How to upgrade from lsif-java

Migrating from lsif-java to scip-java requires the following steps:

  • Replace all usages of lsif-java with scip-java. The scip-java command-line interface supports the same sub-commands and flags as the old lsif-java interface. The only functional difference is that running scip-java index now produces an index.scip file instead of dump.lsif.
  • Make sure you are using the latest version of the src command-line tool, which you can now optionally install via npm using the command yarn global add @​sourcegraph/src. The latest version of src is needed to recognise the new index.scip file, which is generated by scip-java index. Running src precise-intel upload (previously, src lsif upload) accepts both index.scip and dump.lsif files. If you’re not uploading to Sourcegraph, run scip convert --from=index.scip --to=dump.lsif to convert any SCIP payload into LSIF. The scip command-line tool can be installed from here.

Find implementations

Previously, scip-java only supported "Go to definition" and "Find references". This release adds support to "Find implementations" such that you can navigate from an interface or abstract method to their concrete implementation. For example, consider the following type hierarchy

interface Animal {
  String sound();
}
class Dog implements Animal {
  @​Override 
  String sound() { return "Woof!"; }
}

The "Find implementations" action navigates from the Animal interface and Animal.sound() method, to the Dog class and Dog.sound() method, respectively.

Bazel support

Previously, scip-java did not have great support for Bazel. It was possible to use scip-java with Bazel but the steps were undocumented and it required awkward workarounds. This release adds proper support for Bazel that is compatible with Bazel's build cache and allows incremental indexing.

It requires custom configuration to WORKSPACE and BUILD files to integrate scip-java with Bazel builds. It's simply not possible for scip-java index command to automatically configure everything like it does for Gradle and Maven while remaining compatible with Bazel's build model.

Check out the documentation on how to get started with configuring Bazel and scip-java.

Pull Requests

v0.7.7: lsif-java v0.7.7

What's Changed

New Contributors

Full Changelog: sourcegraph/scip-java@v0.7.6...v0.7.7

v0.7.5: lsif-java v0.7.5

Improved code navigation for Scala

Previously, "goto defintion" did not work for synthetic symbols such as
case class companion objects or var setter methods.

class Main {
  case class User(name: String)

  var user = User("Susan") // go to definition on `User` did not work

  user = User("John") // go to definition on `user` did not work
}

Now, lsif-java emits occurrences for these synthetic symbols so that "goto definition" works as expected.

Pull Requests

v0.7.2: lsif-java v0.7.2

Kotlin hover support

Previously, the hover message only displayed the name of Kotlin symbols. Now, the hover message shows the symbol signature and KDoc.

image

Improved Java 17 support

Running lsif-java index will now use the correct --add-exports flags in more cases when compiling code with Java 17. There are still many situations where users on Java 17 need to manually add the following JVM options

--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED

Updated Docker container

The Docker container sourcegraph/lsif-java is now automatically published on every release alongside the Maven Central artifacts. The Docker container is fairly large because it includes pre-installed Java 8, Java 11 and Java 17. If the container size is a problem then we recommend creating your own Docker container with the Java launcher as documented here https://sourcegraph.github.io/lsif-java/docs/getting-started.html#java-launcher

Pull Requests


Configuration

📅 Schedule: Branch creation - "on the 1st through 7th day of the month" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the bot label Jul 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants