Add support for the Gradle Playframework plugin.#173
Merged
Conversation
Previously, the `index` command didn't work with Gradle projects that use the Playframework plugin. The codebase would compile, but no LSIF index would be created. Now, everything should work as expected. The problem was that the Playframework plugin uses the Scala plugin to compile auto-generated template and routes files. The Scala plugin runs Zinc (Scala incremental compiler) in a daemon process behind the scenes so it ignores the `javac` fork settings that `lsif-java index` adds to the build. The fix is to enable the SemanticDB Java agent on the Zinc daemon process and to add one more injection point to ensure that the SemanticDB compiler plugin is always on the classpath for all projects.
48 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Previously, the
indexcommand didn't work with Gradle projects thatuse the Playframework plugin. The codebase would compile, but no LSIF
index would be created. Now, everything should work as expected.
The problem was that the Playframework plugin uses the Scala plugin to
compile auto-generated template and routes files. The Scala plugin runs
Zinc (Scala incremental compiler) in a daemon process behind the scenes
so it ignores the
javacfork settings thatlsif-java indexadds tothe build.
The fix is to enable the SemanticDB Java agent on the Zinc daemon
process and to add one more injection point to ensure that the
SemanticDB compiler plugin is always on the classpath for all projects.
Fixes #170