[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
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../command"
|
require_relative "../command"
|
||||||
|
require_relative "../gemspec_helpers"
|
||||||
require_relative "../package"
|
require_relative "../package"
|
||||||
require_relative "../version_option"
|
require_relative "../version_option"
|
||||||
|
|
||||||
class Gem::Commands::BuildCommand < Gem::Command
|
class Gem::Commands::BuildCommand < Gem::Command
|
||||||
include Gem::VersionOption
|
include Gem::VersionOption
|
||||||
|
include Gem::GemspecHelpers
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
super "build", "Build a gem from a gemspec"
|
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
|
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
|
def build_gem
|
||||||
gemspec = resolve_gem_name
|
gemspec = resolve_gem_name
|
||||||
|
|
||||||
|
@ -4,9 +4,12 @@ require "date"
|
|||||||
require "digest"
|
require "digest"
|
||||||
require "fileutils"
|
require "fileutils"
|
||||||
require "tmpdir"
|
require "tmpdir"
|
||||||
|
require_relative "../gemspec_helpers"
|
||||||
require_relative "../package"
|
require_relative "../package"
|
||||||
|
|
||||||
class Gem::Commands::RebuildCommand < Gem::Command
|
class Gem::Commands::RebuildCommand < Gem::Command
|
||||||
|
include Gem::GemspecHelpers
|
||||||
|
|
||||||
DATE_FORMAT = "%Y-%m-%d %H:%M:%S.%N Z"
|
DATE_FORMAT = "%Y-%m-%d %H:%M:%S.%N Z"
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
@ -223,17 +226,6 @@ Please install RubyGems v#{rg_version} and try again.
|
|||||||
ENV["SOURCE_DATE_EPOCH"] = old_sde
|
ENV["SOURCE_DATE_EPOCH"] = old_sde
|
||||||
end
|
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)
|
def error_message(gem_name)
|
||||||
if gem_name
|
if gem_name
|
||||||
"Couldn't find a gemspec file matching '#{gem_name}' in #{Dir.pwd}"
|
"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