diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-04-24 11:23:58 +0200 |
---|---|---|
committer | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-04-24 15:52:50 +0200 |
commit | 26d3a59f61b72d44973f14630c2d889b4ca00a71 (patch) | |
tree | 231561a6adb43a5a6f816d5f8b7e8fb7ce5446c9 | |
parent | ec8f98574a90de1e87a50e00141180d761f161dc (diff) | |
download | bundler-https_sources.tar.gz |
Fully switch to https sourceshttps_sources
-rw-r--r-- | lib/bundler/dsl.rb | 7 | ||||
-rw-r--r-- | lib/bundler/feature_flag.rb | 4 | ||||
-rw-r--r-- | lib/bundler/settings.rb | 1 | ||||
-rw-r--r-- | spec/bundler/dsl_spec.rb | 78 | ||||
-rw-r--r-- | spec/other/major_deprecation_spec.rb | 32 | ||||
-rw-r--r-- | spec/quality_spec.rb | 1 |
6 files changed, 27 insertions, 96 deletions
diff --git a/lib/bundler/dsl.rb b/lib/bundler/dsl.rb index d3ead2a1ff..534c9b5537 100644 --- a/lib/bundler/dsl.rb +++ b/lib/bundler/dsl.rb @@ -291,12 +291,7 @@ module Bundler "https://github.com/#{repo_name}.git" RUBY repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") - if Bundler.feature_flag.github_https? - "https://github.com/#{repo_name}.git" - else - Bundler::SharedHelpers.major_deprecation 2, "Setting `github.https` to false is deprecated and won't be supported in the future." - "git://github.com/#{repo_name}.git" - end + "https://github.com/#{repo_name}.git" end git_source(:gist) do |repo_name| diff --git a/lib/bundler/feature_flag.rb b/lib/bundler/feature_flag.rb index 07106abad7..9cc14c9bc8 100644 --- a/lib/bundler/feature_flag.rb +++ b/lib/bundler/feature_flag.rb @@ -44,7 +44,7 @@ module Bundler settings_flag(:plugins) { @bundler_version >= Gem::Version.new("1.14") } settings_flag(:print_only_version_number) { bundler_3_mode? } settings_flag(:setup_makes_kernel_gem_public) { !bundler_3_mode? } - settings_flag(:skip_default_git_sources) { bundler_4_mode? } + settings_flag(:skip_default_git_sources) { bundler_3_mode? } settings_flag(:specific_platform) { bundler_3_mode? } settings_flag(:suppress_install_using_messages) { bundler_3_mode? } settings_flag(:unlock_source_unlocks_spec) { !bundler_3_mode? } @@ -53,8 +53,6 @@ module Bundler settings_option(:default_cli_command) { bundler_3_mode? ? :cli_help : :install } - settings_method(:github_https?, "github.https") { bundler_2_mode? } - def initialize(bundler_version) @bundler_version = Gem::Version.create(bundler_version) end diff --git a/lib/bundler/settings.rb b/lib/bundler/settings.rb index 2d0c4174ae..6cc25bc998 100644 --- a/lib/bundler/settings.rb +++ b/lib/bundler/settings.rb @@ -33,7 +33,6 @@ module Bundler frozen gem.coc gem.mit - github.https global_path_appends_ruby_scope global_gem_cache ignore_messages diff --git a/spec/bundler/dsl_spec.rb b/spec/bundler/dsl_spec.rb index a17bfd4938..60c12706a5 100644 --- a/spec/bundler/dsl_spec.rb +++ b/spec/bundler/dsl_spec.rb @@ -25,60 +25,17 @@ RSpec.describe Bundler::Dsl do expect { subject.git_source(:example) }.to raise_error(Bundler::InvalidOption) end - context "github_https feature flag" do - it "is true when github.https is true" do - bundle "config set github.https true" - expect(Bundler.feature_flag.github_https?).to eq true - end - end - - shared_examples_for "the github DSL" do |protocol| - context "when full repo is used" do - let(:repo) { "indirect/sparks" } - - it "converts :github to URI using #{protocol}" do - subject.gem("sparks", :github => repo) - github_uri = "#{protocol}://github.com/#{repo}.git" - expect(subject.dependencies.first.source.uri).to eq(github_uri) - end - end - - context "when shortcut repo is used" do - let(:repo) { "rails" } - - it "converts :github to URI using #{protocol}" do - subject.gem("sparks", :github => repo) - github_uri = "#{protocol}://github.com/#{repo}/#{repo}.git" - expect(subject.dependencies.first.source.uri).to eq(github_uri) - end - end - end - - context "default hosts (git, gist)" do - context "when github.https config is true" do - before { bundle "config set github.https true" } - - it_behaves_like "the github DSL", "https" - end - - context "when github.https config is false", :bundler => "2" do - before { bundle "config set github.https false" } - - it_behaves_like "the github DSL", "git" - end - - context "when github.https config is false", :bundler => "3" do - before { bundle "config set github.https false" } - - pending "should show a proper message about the removed setting" - end - - context "by default", :bundler => "2" do - it_behaves_like "the github DSL", "https" + context "default hosts", :bundler => "2" do + it "converts :github to URI using https" do + subject.gem("sparks", :github => "indirect/sparks") + github_uri = "https://github.com/indirect/sparks.git" + expect(subject.dependencies.first.source.uri).to eq(github_uri) end - context "by default", :bundler => "3" do - it_behaves_like "the github DSL", "https" + it "converts :github shortcut to URI using https" do + subject.gem("sparks", :github => "rails") + github_uri = "https://github.com/rails/rails.git" + expect(subject.dependencies.first.source.uri).to eq(github_uri) end it "converts numeric :gist to :git" do @@ -106,7 +63,7 @@ RSpec.describe Bundler::Dsl do end end - context "default git sources", :bundler => "4" do + context "default git sources", :bundler => "3" do it "has none" do expect(subject.instance_variable_get(:@git_sources)).to eq({}) end @@ -285,7 +242,7 @@ RSpec.describe Bundler::Dsl do end end - describe "#github", :bundler => "3" do + describe "#github", :bundler => "2" do it "from github" do spree_gems = %w[spree_core spree_api spree_backend] subject.github "spree" do @@ -300,19 +257,6 @@ RSpec.describe Bundler::Dsl do describe "#github", :bundler => "3" do it "from github" do - spree_gems = %w[spree_core spree_api spree_backend] - subject.github "spree" do - spree_gems.each {|spree_gem| subject.send :gem, spree_gem } - end - - subject.dependencies.each do |d| - expect(d.source.uri).to eq("https://github.com/spree/spree.git") - end - end - end - - describe "#github", :bundler => "4" do - it "from github" do expect do spree_gems = %w[spree_core spree_api spree_backend] subject.github "spree" do diff --git a/spec/other/major_deprecation_spec.rb b/spec/other/major_deprecation_spec.rb index 83944e4075..53bc4b0b79 100644 --- a/spec/other/major_deprecation_spec.rb +++ b/spec/other/major_deprecation_spec.rb @@ -365,38 +365,30 @@ RSpec.describe "major deprecations" do end describe Bundler::Dsl do - let(:msg) do - <<-EOS -The :github git source is deprecated, and will be removed in the future. Change any "reponame" :github sources to "username/reponame". Add this code to the top of your Gemfile to ensure it continues to work: - - git_source(:github) {|repo_name| "https://github.com/\#{repo_name}.git" } - - EOS - end - before do @rubygems = double("rubygems") allow(Bundler::Source::Rubygems).to receive(:new) { @rubygems } end context "with github gems" do - it "warns about the https change if people are opting out" do - Bundler.settings.temporary "github.https" => false - expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(3, msg) - expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(2, "Setting `github.https` to false is deprecated and won't be supported in the future.") - subject.gem("sparks", :github => "indirect/sparks") - end + it "warns about removal", :bundler => "2" do + msg = <<-EOS +The :github git source is deprecated, and will be removed in the future. Change any "reponame" :github sources to "username/reponame". Add this code to the top of your Gemfile to ensure it continues to work: + + git_source(:github) {|repo_name| "https://github.com/\#{repo_name}.git" } - it "upgrades to https by default", :bundler => "2" do + EOS expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(3, msg) subject.gem("sparks", :github => "indirect/sparks") github_uri = "https://github.com/indirect/sparks.git" expect(subject.dependencies.first.source.uri).to eq(github_uri) end + + pending "should fail with a helpful error", :bundler => "3" end context "with bitbucket gems" do - it "warns about removal" do + it "warns about removal", :bundler => "2" do allow(Bundler.ui).to receive(:deprecate) msg = <<-EOS The :bitbucket git source is deprecated, and will be removed in the future. Add this code to the top of your Gemfile to ensure it continues to work: @@ -411,10 +403,12 @@ The :bitbucket git source is deprecated, and will be removed in the future. Add expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(3, msg) subject.gem("not-really-a-gem", :bitbucket => "mcorp/flatlab-rails") end + + pending "should fail with a helpful error", :bundler => "3" end context "with gist gems" do - it "warns about removal" do + it "warns about removal", :bundler => "2" do allow(Bundler.ui).to receive(:deprecate) msg = <<-EOS The :gist git source is deprecated, and will be removed in the future. Add this code to the top of your Gemfile to ensure it continues to work: @@ -425,6 +419,8 @@ The :gist git source is deprecated, and will be removed in the future. Add this expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(3, msg) subject.gem("not-really-a-gem", :gist => "1234") end + + pending "should fail with a helpful error", :bundler => "3" end end diff --git a/spec/quality_spec.rb b/spec/quality_spec.rb index 87279ebb74..b8f2d6ed1b 100644 --- a/spec/quality_spec.rb +++ b/spec/quality_spec.rb @@ -173,7 +173,6 @@ RSpec.describe "The library itself" do forget_cli_options gem.coc gem.mit - github.https inline use_gem_version_promoter_for_major_updates ] |