bazel-contrib / bazel-contrib/rules_scala

Strict Deps smart mode

Open
#335 11 comments 0 reactions 0 assignees View on GitHub
dep-tracking
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.