rules_scala icon indicating copy to clipboard operation
rules_scala copied to clipboard

Use Zinc for dependency checking

Open jadenPete opened this issue 11 months ago • 0 comments
trafficstars

This issue is part of a broader proposal to merge some of the features in lucidsoftware/rules_scala into this ruleset.

The tracking issue for this effort

The relevant proposal section.

If we compiled with Zinc, we could use Zinc's analysis file to check for unused dependencies and used transitive dependencies not declared as direct dependencies. You can read the details of the proposed architecture, its pros and cons, and a comparison between it and the existing architecture here.

TL;DR is that by using Zinc for dependency checking, we can:

  • Greatly simplify this repository's dependency checking code
  • No longer have to patch the compiler to report which depedendencies were used. This should enable any compiler to be used with the ruleset, regardless of this repository's support for it
  • No longer have to rely on a compiler plugin for dependency checking
  • Move dependency checking to a worker and make it a validation action, speeding up compilation

jadenPete avatar Dec 09 '24 14:12 jadenPete