Skip to content

Unifying the Scala Rulesets #1658

Open
Open
@jadenPete

Description

@jadenPete
Contributor

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:

Activity

mbland

mbland commented on Dec 2, 2024

@mbland
Contributor

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

BillyAutrey commented on Dec 2, 2024

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

jjudd commented on Dec 3, 2024

@jjudd
Contributor

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

mbland commented on Dec 3, 2024

@mbland
Contributor

@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

jadenPete commented on Dec 3, 2024

@jadenPete
ContributorAuthor

@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

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @mbland@jjudd@jadenPete@BillyAutrey

        Issue actions

          Unifying the Scala Rulesets · Issue #1658 · bazel-contrib/rules_scala