Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unifying the Scala Rulesets #1658

Open
jadenPete opened this issue Dec 2, 2024 · 6 comments
Open

Unifying the Scala Rulesets #1658

jadenPete opened this issue Dec 2, 2024 · 6 comments

Comments

@jadenPete
Copy link

jadenPete commented Dec 2, 2024

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:

Existing issues:

@mbland
Copy link
Contributor

mbland commented 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
Copy link
Contributor

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
Copy link
Contributor

jjudd commented 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
Copy link
Contributor

mbland commented 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
Copy link
Author

@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.

@jadenPete
Copy link
Author

Issues have been created for each of the proposed features and linked to this issue. For four of the features, issues already existed, so I left comments on those and linked them to this issue.

Feel free to discuss there!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants