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

Change dependency from annotate to annotaterb #30232

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

drwl
Copy link

@drwl drwl commented May 10, 2024

This PR changes the project to use AnnotateRb instead of Annotate.

I tested it locally and there are no changes to the annotation configuration nor annotations themselves. What does change is the CLI, so if running annotations manually previously you would use bundle exec annotate, now one would use bundle exec annotaterb models.

I was a maintainer of the old gem (annotate) but decided last year to make a fork and tidy up the code a lot. The new gem (annotaterb) is actively maintained and should perform faster for newer Rails (6+) apps because it leverages Zeitwerk instead of eager loading everything.

This PR is self-serving in that it does grow usage of my project, so feel free to reject this. I am also happy to answer any questions.

@renchap renchap added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels May 10, 2024
@mjankowski
Copy link
Contributor

Is the old gem unmaintained now? I see it has ~10 commits in last ~2 years, so obviously it's not VERY active ... just curious if it's a situation where what you are doing here is more of a hard fork of the project, or more of an issue of whoever has ownership permissions on original no longer being available or something?

@drwl
Copy link
Author

drwl commented May 26, 2024

Is the old gem unmaintained now? I see it has ~10 commits in last ~2 years, so obviously it's not VERY active ... just curious if it's a situation where what you are doing here is more of a hard fork of the project, or more of an issue of whoever has ownership permissions on original no longer being available or something?

I think it's safe the say the old gem is unmaintained, the repo owner hasn't had time to maintain + hasn't written in Ruby in some time.

I decided to hard fork it last year to have full permissions over the project (I was limited as a maintainer of the old gem) + take the gem in a certain technical direction which was easier when I could make breaking changes.

@mjankowski
Copy link
Contributor

Glad to hear you're moving it forward! ... what's the nature of the direction you're moving?

Are you in contact at all with gem/repo owner? Are they interested in handing it off totally? Giving you more perms, etc? If they've truly bailed, seems a shame to lose the stars/issues/gem and other history.

@drwl
Copy link
Author

drwl commented May 26, 2024

Answering inline

Glad to hear you're moving it forward! ... what's the nature of the direction you're moving?

Thanks! The repos have since diverged but it may be possible to do a diff since AnnotateRb still has the git history. But in short, I changed a lot of the internals through refactors and how data flows. The old gem, in my opinion, is/was essentially a shell script that accrued a bunch of technical debt.

Are you in contact at all with gem/repo owner? Are they interested in handing it off totally? Giving you more perms, etc? If they've truly bailed, seems a shame to lose the stars/issues/gem and other history.

This is a good question and commonly asked — I sent him an email a while back and didn't hear anything back. So I don't think he's bailed but just doesn't have the time or resources to maintain it (I don't blame him, open source for small/not funded projects is hard work).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants