-
Notifications
You must be signed in to change notification settings - Fork 632
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
Remove obsolete warning from README #678
Conversation
This is a fresh new try on ddollar#595. (I wondered about the reasons when reading that sentence in the README, and started looking through the issues/PRs mentioning the subject) Credits to @panozzaj who did the original PR. @conf has also contributed to the discussion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
The warning still stands. Foreman has its own dependencies and they should be independent from the dependencies of your project (thor is the main one that usually comes to mind) |
Thanks for the feedback @ddollar
I'm sorry, but I fail to see your point here. If a project likes to add foreman and its dependencies (like thor and others), why is this such a big problem? And in what way does it differ from any other Rubygem? You add a dependency, leaf dependencies get added to the dependency graph. That's pretty much how the ecosystem works, and while I do agree that an excessive dependency graph certainly has its flaws, I don't think that such strong language as is in the If you have strong feelings about this (which is perfectly fine), it would be great to get some of these thoughts into the documentation, to avoid me and others suggesting this change over and over again. Right? Maybe something "Please don't add As you wrote in #573:
Sure, "unsupported" in a Microsoft/Apple sense of the word. But it works perfectly fine for many of us, and judging by the number of "thumbs up" on the "can you explain why?" question posted in that thread, I'm not the only one who does not understand this. Sorry to be bugging you about this. It's just that |
Because Ruby has a global dependency graph all projects used together in the same interpreter space must share dependencies. This means that all of foreman's dependencies need to mesh with any project where you include foreman as a dependency. See e.g. #688 It seems unnecessary to bump dependency versions in foreman simply because Rails has done so potentially introducing bugs or backwards-incompatibility. Foreman should update its dependencies when necessary to fix bugs, introduce desired new functionality, or address security vulnerabilities. Foreman is not a library, it is not imported by the code of your application, and it doesn't make sense to include it in your Gemfile just because it's written in Ruby. Think of it more like a system utility like |
This is a fresh new try on #595. (I wondered about the reasons when reading that sentence in the README, and started looking through the issues/PRs mentioning the subject)
Credits to @panozzaj who did the original PR. @conf has also contributed to the discussion.