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:
Activity
mbland commentedon Dec 2, 2024
Here are the Bzlmod and Bazel 8 tracking issues:
We've got working prototypes (well, almost completely working in the Bazel 8 case), so it shouldn't be a very long wait.
BillyAutrey commentedon Dec 2, 2024
That document outlines several features that you want implemented. Is the goal to port in all of these features, or none at all? Maybe it's worth separating out the discussion of each feature alone. I could see the discussion getting quite twisted if we're talking about seventeen different proposals wrapped into one.
jjudd commentedon Dec 3, 2024
Ideally we would like to port in all these features. We're happy to use this as a meta/tracking issue and open specific issues for each of the individual features. I'll chat with Jaden about that.
mbland commentedon Dec 3, 2024
@jadenPete and @jjudd I just posted what's become my ritual weekly update on Bzlmodification (and now Bazel 8 compatibility). I post these to keep people notified of progress and remaining steps, and to show that the issue is alive and that there's an end in sight.
Also, y'all might be interested in possibly replying to #1657. I think it touches on your proposed
ijar
update.jadenPete commentedon Dec 3, 2024
@BillyAutrey, the goal is to port all of them, but this is definitely not an "all or nothing" initiatve. As @jjudd mentioned, we're happy to use this as a meta-issue and create smaller sub-issues for discussing each individual feature. I'll go ahead and do that soon.
9 remaining items