bazel-contrib / bazel-contrib/rules_scala
Strict Deps smart mode
- Dominant language
- Starlark
- Stars
- 384
- Forks
- 292
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 47
Description
We want to improve the current state of the dependency analyzer compiler plugin for [strict deps](https://github.com/bazelbuild/rules_scala/issues/235),
Currently the plugin looks at which jars were loaded by the compiler, in order to assess if the target should be a direct dependency. This strategy is quite coarse-grained and over-approximates which targets are needed.
In order to improve the plugin, the proposal by @gkk-stripe is to utilize code from Zinc that analyzes source code which has much higher accuracy.
Plan is to use the zinc code callbacks mechanism to output the dependencies to a file and have a separate action that emits the relevant error messages to the user of missing dependencies
Contributor guide
Research direction
Start by reviewing the existing dependency analyzer compiler plugin and the Zinc code callbacks mechanism described in the issue. Determine how dependencies would be written to a file and how a separate action would report missing direct dependencies; done means the analyzer provides more precise dependency results and user-facing errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100