From 6dee0d3fb092924afe1c7e1df5e9294a8ae23b15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Mon, 26 Aug 2024 16:33:44 +0200 Subject: [PATCH] [rubygems/rubygems] Reject unknown platforms when running `bundle lock --add-platform` https://github.com/rubygems/rubygems/commit/1f93a2bdc5 --- lib/bundler/cli/lock.rb | 4 ++-- spec/bundler/commands/lock_spec.rb | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/bundler/cli/lock.rb b/lib/bundler/cli/lock.rb index 86c49df867..3f204bdc45 100644 --- a/lib/bundler/cli/lock.rb +++ b/lib/bundler/cli/lock.rb @@ -48,8 +48,8 @@ module Bundler options["add-platform"].each do |platform_string| platform = Gem::Platform.new(platform_string) if platform.to_s == "unknown" - Bundler.ui.warn "The platform `#{platform_string}` is unknown to RubyGems " \ - "and adding it will likely lead to resolution errors" + Bundler.ui.error "The platform `#{platform_string}` is unknown to RubyGems and can't be added to the lockfile." + exit 1 end definition.add_platform(platform) end diff --git a/spec/bundler/commands/lock_spec.rb b/spec/bundler/commands/lock_spec.rb index 706eaed533..5e2a6e7e8f 100644 --- a/spec/bundler/commands/lock_spec.rb +++ b/spec/bundler/commands/lock_spec.rb @@ -857,9 +857,10 @@ RSpec.describe "bundle lock" do expect(lockfile.platforms).to match_array(default_platform_list("ruby")) end - it "warns when adding an unknown platform" do - bundle "lock --add-platform foobarbaz" - expect(err).to include("The platform `foobarbaz` is unknown to RubyGems and adding it will likely lead to resolution errors") + it "fails when adding an unknown platform" do + bundle "lock --add-platform foobarbaz", raise_on_error: false + expect(err).to include("The platform `foobarbaz` is unknown to RubyGems and can't be added to the lockfile") + expect(last_command).to be_failure end it "allows removing platforms" do