ruby / racc

Racc is an LALR(1) parser generator. It is written in Ruby itself, and generates ruby programs.
Other
535 stars 88 forks source link

Add "test-unit-ruby-core" development dependency #227

Closed voxik closed 10 months ago

voxik commented 1 year ago

Apart from properly specifying gem dependencies, this also allows to see on rubygems.org that there actually is some user of test-unit-ruby-core gem.

Maybe the Gemfile should also use the gemspec directive.

hsbt commented 1 year ago

Maybe the Gemfile should also use the gemspec directive.

Can you update with that?

voxik commented 1 year ago

I have tried.

However, I am not clear how #229 is supposed to work, because I have precisely zero knowledge about dependabot. Maybe I should have left the group :development in the Gemfile? I certainly don't think that having so restricted dependencies is good idea, especially I don't think that they should go into .gemspec. But I'm not sure how Bundler would handle the group together with the .gesmpec definition :man_shrugging:

hsbt commented 1 year ago

However, I am not clear how https://github.com/ruby/racc/pull/229 is supposed to work, because I have precisely zero knowledge about dependabot.

Ah, sorry. dependabot is not support add_development_dependency. We can not migrate them if we rely to dependabot.

flavorjones commented 1 year ago

I certainly don't think that having so restricted dependencies is good idea

Development dependencies are only relevant for the people who are working on (or repackaging) racc, not for end users. Restricting the versions of these gems is an acceptable practice.

properly specifying gem dependencies

The Gemfile is an acceptable and proper place to specify development dependencies. I think it is completely appropriate for us to declare them where and how it's convenient and sustainable for us.

I have precisely zero knowledge about dependabot

Dependabot is a tool that helps open source maintainers ensure that a) dependencies are updated when new versions are available, b) and that CI still passes with those updated dependencies. Particularly for maintainers of many gems, this automation is very valuable for avoiding bitrot.

@voxik I'm not sure what outcome you want from this change. test-unit-ruby-core is already declared in the Gemfile. Help me understand?

voxik commented 1 year ago

@voxik I'm not sure what outcome you want from this change. test-unit-ruby-core is already declared in the Gemfile. Help me understand?

I was wondering, why would somebody want to introduce test-unit-ruby-core into Fedora. I thought that the most convenient way would be to take look at rubygems.org:

https://rubygems.org/gems/test-unit-ruby-core/reverse_dependencies

But this page says nothing.

Also, generally, locking development dependencies might make upstream life easier, but it does downstream (such as Fedora) life harder. I am quite sure that the test suite can be tuned to work with specific versions, but we don't necessarily have them downstream.

hsbt commented 10 months ago

We should keep to use Gemfile, not gemspec.

voxik commented 10 months ago

We should keep to use Gemfile, not gemspec.

Specifically for this reason, there were two commits. I wish you have accepted at least the "Add "test-unit-ruby-core" development dependency" commit.