[rubygems/rubygems] [build, rebuild] Split common find_gemspec() out to GemspecHelpers.
https://github.com/rubygems/rubygems/commit/2f80a595c4
This commit is contained in:
parent
d916dbcb84
commit
d19744fbd6
@ -1,11 +1,13 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "../command"
|
||||
require_relative "../gemspec_helpers"
|
||||
require_relative "../package"
|
||||
require_relative "../version_option"
|
||||
|
||||
class Gem::Commands::BuildCommand < Gem::Command
|
||||
include Gem::VersionOption
|
||||
include Gem::GemspecHelpers
|
||||
|
||||
def initialize
|
||||
super "build", "Build a gem from a gemspec"
|
||||
@ -75,17 +77,6 @@ Gems can be saved to a specified filename with the output option:
|
||||
|
||||
private
|
||||
|
||||
def find_gemspec(glob = "*.gemspec")
|
||||
gemspecs = Dir.glob(glob).sort
|
||||
|
||||
if gemspecs.size > 1
|
||||
alert_error "Multiple gemspecs found: #{gemspecs}, please specify one"
|
||||
terminate_interaction(1)
|
||||
end
|
||||
|
||||
gemspecs.first
|
||||
end
|
||||
|
||||
def build_gem
|
||||
gemspec = resolve_gem_name
|
||||
|
||||
|
@ -4,9 +4,12 @@ require "date"
|
||||
require "digest"
|
||||
require "fileutils"
|
||||
require "tmpdir"
|
||||
require_relative "../gemspec_helpers"
|
||||
require_relative "../package"
|
||||
|
||||
class Gem::Commands::RebuildCommand < Gem::Command
|
||||
include Gem::GemspecHelpers
|
||||
|
||||
DATE_FORMAT = "%Y-%m-%d %H:%M:%S.%N Z"
|
||||
|
||||
def initialize
|
||||
@ -223,17 +226,6 @@ Please install RubyGems v#{rg_version} and try again.
|
||||
ENV["SOURCE_DATE_EPOCH"] = old_sde
|
||||
end
|
||||
|
||||
def find_gemspec(glob = "*.gemspec")
|
||||
gemspecs = Dir.glob(glob).sort
|
||||
|
||||
if gemspecs.size > 1
|
||||
alert_error "Multiple gemspecs found: #{gemspecs}, please specify one"
|
||||
terminate_interaction(1)
|
||||
end
|
||||
|
||||
gemspecs.first
|
||||
end
|
||||
|
||||
def error_message(gem_name)
|
||||
if gem_name
|
||||
"Couldn't find a gemspec file matching '#{gem_name}' in #{Dir.pwd}"
|
||||
|
20
lib/rubygems/gemspec_helpers.rb
Normal file
20
lib/rubygems/gemspec_helpers.rb
Normal file
@ -0,0 +1,20 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "../rubygems"
|
||||
|
||||
##
|
||||
# Mixin methods for commands that work with gemspecs.
|
||||
|
||||
module Gem::GemspecHelpers
|
||||
def find_gemspec(glob = "*.gemspec")
|
||||
gemspecs = Dir.glob(glob).sort
|
||||
|
||||
if gemspecs.size > 1
|
||||
alert_error "Multiple gemspecs found: #{gemspecs}, please specify one"
|
||||
terminate_interaction(1)
|
||||
end
|
||||
|
||||
gemspecs.first
|
||||
end
|
||||
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user