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

Proposal: Revamp and Migrate rules_antlr to bazel-contrib #25

Open
albertocavalcante opened this issue Jul 2, 2024 · 5 comments
Open

Comments

@albertocavalcante
Copy link

TL;DR

The canonical reference to rules_antlr is lost. The proposal is to transfer it to bazel-contrib. Help wanted.

Context

I'm creating this issue as @marcohu hasn't been active on GitHub since 2022, and this repo hasn't been maintained for much longer (as evidenced by issue #19).

The only other contributor besides @marcohu is @vmax, who I believe does not have write access and also has stale PRs (see PR #18).

I've also tried to find "Marco Hunsicker" on LinkedIn without success. If anyone knows how to contact him, please let me know.

That said, there are some forks available, but they do not inspire confidence in terms of maintainability and are not suitable for various use cases. These forks seem to be one-time efforts to add specific features or support for certain ANTLR versions and haven't been updated since.

Bzlmod

In its current state, the project can't be published to the Bazel Central Registry (BCR), and projects relying on it won't be able to leverage Bzlmod to pull this dependency. There's an issue requesting its inclusion (see issue #1575), and another project is awaiting its inclusion (see issue #137).

Proposal

Following @EdSchouten's suggestion (see issue comment), I propose a "hostile takeover" to migrate these rules to @bazel-contrib.

The guidance is provided at Hosting rules repositories in the bazel-contrib org, which states:

Criteria for accepting rule sets into this repo and avoid them from getting stale:

  1. Must use an OSI-approved OSS license, preferably Apache-2.0.
  2. Must have wide applicability in the community.
  3. Must have a clear point of contact who answers questions from the SIG.
  4. Must be "production quality":
    • clear README or other documentation outlining the goal of these rules, how to use them etc.
    • generated API documentation
    • include examples of use
    • tests that are running continuously
  5. Must reply to issues/PRs in 2-3 weeks (exact service level agreement TBD)
  6. Must have more than one person who is committed to review/approve PRs
    • We recommend encoding this as a CODEOWNERS file.
  7. Must publish semver releases.
    • Optional: follow the same release pattern as the rules-template does.
  8. Must work with LTS Bazel version
  9. Must publish the rules to the Bazel Central Registry, keep that CI green

Call to Action

The project clearly does not comply with all these items. In the meantime, I've created a fork at my repository, and my intention is to uplift it, reconcile it with other forks (when possible), and hand it over.

However, I would love not to do this alone, so I'm asking for help or volunteers.

I also want to highlight items 5 and 6, which state that we will need people willing to review and approve PRs.

@spags-lacework
Copy link

I've had to fork and add support to 4.13.1, as some of the forks support and some don't. I'd like to try help where I can to support.

@lalten
Copy link

lalten commented Aug 27, 2024

Any update on this? Looking through the committer emails there is Marco Hunsicker <[email protected]>, have you tried to mail him?

@albertocavalcante
Copy link
Author

Any update on this? Looking through the committer emails there is Marco Hunsicker <[email protected]>, have you tried to mail him?

From: [email protected]
Date: Aug 28, 2024, 3:52 PM -0300
To: [email protected]


Hi Marcos,

Hope you’re doing well.

Just wondering if I can reach out to you over this email. Thanks!


Alberto

@lalten just tried with no luck.

The update is that I'm actively working on this but on a best effort basis. PRs are welcome!

Also, @mortenmj raised this PR for BCR to include Bzlmod support: bazelbuild/bazel-central-registry#2650

I intend to take a look and incorporate these changes this week. Right now I'm still trying to upgrade rules_antlr to build with Bazel 6+ without breaking the tests.

@albertocavalcante
Copy link
Author

Hi @spags-lacework, I tried to look for your rules_antlr fork to open a PR against mine but couldn't find it https://github.com/spags-lacework?tab=repositories&q=&type=fork&language=&sort=. Maybe it's private?

I was wondering if you could raise so I can incorporate your changes. Thanks!

@spags-lacework
Copy link

Sure, it's at lacework@4b0bd2e.
There's a couple of todo's, the premise is refactoring the helper methods to be version independent and then providing the new list of versions.

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

3 participants