From d761a0f6ffd443b3440ac5144edcdd8054db9c7c Mon Sep 17 00:00:00 2001 From: Samuel Giddins Date: Fri, 20 Oct 2017 14:19:32 -0500 Subject: [PATCH] [bundler/bundler] [Package] Always resolve remotely for --all-platforms https://github.com/bundler/bundler/commit/e45d2272ea --- lib/bundler/installer.rb | 2 +- spec/bundler/commands/package_spec.rb | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/bundler/installer.rb b/lib/bundler/installer.rb index 5bc53a8b61..700f0a4737 100644 --- a/lib/bundler/installer.rb +++ b/lib/bundler/installer.rb @@ -296,7 +296,7 @@ module Bundler # returns whether or not a re-resolve was needed def resolve_if_needed(options) - if !@definition.unlocking? && !options["force"] && !Bundler.settings[:inline] && Bundler.default_lockfile.file? + if !@definition.unlocking? && !options["force"] && !options["all-platforms"] && !Bundler.settings[:inline] && Bundler.default_lockfile.file? return false if @definition.nothing_changed? && !@definition.missing_specs? end diff --git a/spec/bundler/commands/package_spec.rb b/spec/bundler/commands/package_spec.rb index 6f6d78d697..c22569171a 100644 --- a/spec/bundler/commands/package_spec.rb +++ b/spec/bundler/commands/package_spec.rb @@ -203,6 +203,25 @@ RSpec.describe "bundle package" do bundle "package --all-platforms" expect(bundled_app("vendor/cache/rack-1.0.0.gem")).to exist end + + it "does not attempt to install gems in without groups" do + install_gemfile! <<-G, forgotten_command_line_options(:without => "wo") + source "file:#{gem_repo1}" + gem "rack" + group :wo do + gem "weakling" + end + G + + bundle! :package, "all-platforms" => true + expect(bundled_app("vendor/cache/weakling-0.0.3.gem")).to exist + expect(the_bundle).to include_gem "rack 1.0" + expect(the_bundle).not_to include_gem "weakling" + + bundle! :install, forgotten_command_line_options(:without => "wo") + expect(the_bundle).to include_gem "rack 1.0" + expect(the_bundle).not_to include_gem "weakling" + end end context "with --frozen" do