From 7dc93cb1679c9834a8da1caf5dfff3234b6abdc4 Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Fri, 8 May 2026 16:53:07 -0700 Subject: [ruby/rubygems] Use optimistic version constraints in bundle gem output This changes the gemspec and Gemfile to use optimistic versions for dependencies. https://github.com/ruby/rubygems/commit/92b0305c8b --- lib/bundler/templates/newgem/Gemfile.tt | 8 ++++---- lib/bundler/templates/newgem/newgem.gemspec.tt | 6 +++--- spec/bundler/commands/newgem_spec.rb | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/bundler/templates/newgem/Gemfile.tt b/lib/bundler/templates/newgem/Gemfile.tt index ea7a33ee28..691814b537 100644 --- a/lib/bundler/templates/newgem/Gemfile.tt +++ b/lib/bundler/templates/newgem/Gemfile.tt @@ -6,19 +6,19 @@ source "https://rubygems.org" gemspec gem "irb" -gem "rake", "~> 13.0" +gem "rake", ">= 13.0" <%- if config[:ext] -%> gem "rake-compiler" <%- end -%> <%- if config[:test] -%> -gem "<%= config[:test] %>", "~> <%= config[:test_framework_version] %>" +gem "<%= config[:test] %>", ">= <%= config[:test_framework_version] %>" <%- end -%> <%- if config[:linter] == "rubocop" -%> -gem "rubocop", "~> <%= config[:linter_version] %>" +gem "rubocop", ">= <%= config[:linter_version] %>" <%- elsif config[:linter] == "standard" -%> -gem "standard", "~> <%= config[:linter_version] %>" +gem "standard", ">= <%= config[:linter_version] %>" <%- end -%> diff --git a/lib/bundler/templates/newgem/newgem.gemspec.tt b/lib/bundler/templates/newgem/newgem.gemspec.tt index 7d0fc565e2..2729530e8d 100644 --- a/lib/bundler/templates/newgem/newgem.gemspec.tt +++ b/lib/bundler/templates/newgem/newgem.gemspec.tt @@ -45,12 +45,12 @@ Gem::Specification.new do |spec| <%- end -%> # Uncomment to register a new dependency of your gem - # spec.add_dependency "example-gem", "~> 1.0" + # spec.add_dependency "example-gem", ">= 1.0" <%- if config[:ext] == 'rust' -%> - spec.add_dependency "rb_sys", "~> 0.9.127" + spec.add_dependency "rb_sys", ">= 0.9.127" <%- end -%> <%- if config[:ext] == 'go' -%> - spec.add_dependency "go_gem", "~> 0.2" + spec.add_dependency "go_gem", ">= 0.2" <%- end -%> # For more information and examples about making a new gem, check out our diff --git a/spec/bundler/commands/newgem_spec.rb b/spec/bundler/commands/newgem_spec.rb index f00aa276c4..3024a2486f 100644 --- a/spec/bundler/commands/newgem_spec.rb +++ b/spec/bundler/commands/newgem_spec.rb @@ -752,7 +752,7 @@ RSpec.describe "bundle gem" do builder.eval_gemfile(bundled_app("#{gem_name}/Gemfile")) builder.dependencies rspec_dep = builder.dependencies.find {|d| d.name == "rspec" } - expect(rspec_dep).to be_specific + expect(rspec_dep).not_to be_specific end end @@ -837,7 +837,7 @@ RSpec.describe "bundle gem" do builder.eval_gemfile(bundled_app("#{gem_name}/Gemfile")) builder.dependencies minitest_dep = builder.dependencies.find {|d| d.name == "minitest" } - expect(minitest_dep).to be_specific + expect(minitest_dep).not_to be_specific end it "builds spec skeleton" do @@ -898,7 +898,7 @@ RSpec.describe "bundle gem" do builder.eval_gemfile(bundled_app("#{gem_name}/Gemfile")) builder.dependencies test_unit_dep = builder.dependencies.find {|d| d.name == "test-unit" } - expect(test_unit_dep).to be_specific + expect(test_unit_dep).not_to be_specific end it "builds spec skeleton" do @@ -1829,7 +1829,7 @@ RSpec.describe "bundle gem" do end it "includes go_gem in gem_name.gemspec" do - expect(bundled_app("#{gem_name}/#{gem_name}.gemspec").read).to include('spec.add_dependency "go_gem", "~> 0.2"') + expect(bundled_app("#{gem_name}/#{gem_name}.gemspec").read).to include('spec.add_dependency "go_gem", ">= 0.2"') end it "includes go_gem extension in extconf.rb" do -- cgit v1.2.3