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 · 0 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.

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

1 participant