From 6c3f0dc798966a6474f6d694da05a15d620760d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 17 Sep 2020 16:26:55 +0200 Subject: [PATCH] Append '.gemspec' extension only when it is not present. This avoids confusing messages such as: ~~~ $ gem build *.gemspec ERROR: Gemspec file not found: *.gemspec.gemspec ~~~ Please note that the `TestGemCommandsBuildCommand#test_can_find_gemspecs_without_dot_gemspec` testcase was probably wrong from the beginning, trying to apply `.gemspec` extension to `@gem.spec_name`, which already contains the extension. Fixes minor issue mentioned in #3953. --- lib/rubygems/commands/build_command.rb | 2 +- test/rubygems/test_gem_commands_build_command.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rubygems/commands/build_command.rb b/lib/rubygems/commands/build_command.rb index eaf8573d8fa8..84faef2b82e4 100644 --- a/lib/rubygems/commands/build_command.rb +++ b/lib/rubygems/commands/build_command.rb @@ -79,7 +79,7 @@ def find_gemspec end def build_gem(gem_name) - gemspec = File.exist?(gem_name) ? gem_name : "#{gem_name}.gemspec" + gemspec = File.extname(gem_name) == ".gemspec" ? gem_name : "#{gem_name}.gemspec" if File.exist?(gemspec) spec = Gem::Specification.load(gemspec) diff --git a/test/rubygems/test_gem_commands_build_command.rb b/test/rubygems/test_gem_commands_build_command.rb index 37c3c120a52c..954f035406b3 100644 --- a/test/rubygems/test_gem_commands_build_command.rb +++ b/test/rubygems/test_gem_commands_build_command.rb @@ -273,7 +273,7 @@ def test_execute_outside_dir end def test_can_find_gemspecs_without_dot_gemspec - gemspec_file = File.join(@tempdir, @gem.spec_name) + gemspec_file = File.join(@tempdir, @gem.name) File.open gemspec_file + ".gemspec", 'w' do |gs| gs.write @gem.to_ruby