-
Notifications
You must be signed in to change notification settings - Fork 245
Understand the versioning of our gems based on versioning/upgrades of dependency gems #535
Comments
Per our offline discussion, here are the answers:
Scenario 2: Feel free to jump in if you have more preferences and things to be considered. Thanks |
@vishrutshah Let's summarize the results in our Documentation. #551 |
Based on something like 5-6 years of working on another large ruby project -- http://github.com/chef/chef -- the answer to this question:
Is that you should absolutely use that format, if the statement that you are making is accurate. By jumping from The question you have to ask though is "does this gem really work with B 1.x still?" and if that is false, then of course you can't make this statement. If its true, then you should publish the largest range possible to cause the least amount of trouble in dependency solving for gemsets, to allow support for the 2.x version to filter slowly through your ecosystem. The question of what to do when you drop support for |
Moving this to backlog |
Added a page to link this issue https://github.com/Azure/azure-sdk-for-ruby/wiki/Versioning-Information Since there is no more action items, I am closing this issue |
Team is having discussion around the best practices on dependency packages of our Ruby packages. We wanted to run them by team & community to see what are their views:
Scenario 1:
Consider the scenario that we are releasing package
arm-x
that has pessimistic dependency on packageB
. Example:spec.add_runtime_dependency 'B', "~>1.0.0"
. We are using features of packageB
but do not expose packageB
’s apis directly on our packagearm-x
’s apis. When someone wants to use package ``B with version2.0.2
with our package `arm-x` in their projects, they’ll ask us to relax dependency. Now questions on our sides arearm-x
package with pessimistic dependency of'B', "~>2.0.0"
. Is that a breaking change / patch for packagearm-x
?'B', "[>=1.0.0, <3.0.0]"
? Is it encouraged or discouraged in the community?'B', "[>=1.0.0, <3.0.0]"
, when & how should we approach to use pessimistic dependency for that package? [Related Issue Relax mime-types gem pinning #482]Scenario 2:
Considering that
json
package has been shipped by the ruby platform itself, is that acceptable to remove explicitjson
dependency from the package itself and rely on shipped json version? [Related Issue #490]The text was updated successfully, but these errors were encountered: