Description
Hello! My name is Jaden; I'm a Software Engineer at Lucid Software (you may know us from Lucidchart). Lucid regularly uses Bazel to build our Scala backend that comprises millions of lines of code. We're highly invested in not only the success of the Scala ecosystem, but in Bazel's attractiveness as a build system of choice for large Scala repositories. For those who don't know, we actively maintain an alternative Scala ruleset, lucidsoftware/rules_scala (previously higherkindness/rules_scala). Although the ruleset began as a testbed for incremental compilation with Zinc and new/experimental Bazel features, we've since shifted away from incremental compilation in an effort to maintain correctness and compliance with the Bazel philosophy. Now, we'd like to propose merging various other features from our ruleset into this repository.
We've prepared a comprehensive proposal document that outlines the features our ruleset offers and how we think they'd benefit this one:
https://docs.google.com/document/d/12BmUPpJpworA9ep2P_J00TxXwFRBZDQttUCsoYo0Yao/edit?usp=sharing
As mentioned in the document, we intend to dedicate engineering time to this. From the discussion happening in the #scala channel in the Bazel Slack workspace, I understand this sort of work would be best done after the Bzlmod migration and Bazel 8 upgrade, so know that we're happy to help with that in any way we can.
--
Created issues:
- Rewrite the ruleset's workers in Scala #1661
- Support worker multiplexing and multiplex sandboxing #1662
- Support worker cancellation #1663
- Support path mapping #1664
- Compile Scala code with Zinc #1665
- Support varying degrees of test isolation #1666
- Supporting test sharding #1667
- Use Zinc for dependency checking #1668
- Automatically detect main methods #1669
- Use rules_jvm_external #1670
Existing issues: