Merge pull request #1004 from apjanke/print-requirements

info: print requirements
This commit is contained in:
Mike McQuaid 2016-09-27 09:48:14 +01:00 committed by GitHub
commit b432f8e9cb
8 changed files with 64 additions and 0 deletions

View File

@ -143,6 +143,15 @@ module Homebrew
end end
end end
unless f.requirements.to_a.empty?
ohai "Requirements"
%w[build required recommended optional].map do |type|
reqs = f.requirements.select(&:"#{type}?")
next if reqs.to_a.empty?
puts "#{type.capitalize}: #{decorate_requirements(reqs)}"
end
end
unless f.options.empty? unless f.options.empty?
ohai "Options" ohai "Options"
Homebrew.dump_options_for_formula f Homebrew.dump_options_for_formula f
@ -158,4 +167,12 @@ module Homebrew
end end
deps_status * ", " deps_status * ", "
end end
def decorate_requirements(requirements)
req_status = requirements.collect do |req|
req_s = req.display_s
req.satisfied? ? pretty_installed(req_s) : pretty_uninstalled(req_s)
end
req_status.join(", ")
end
end end

View File

@ -121,6 +121,10 @@ class Requirement
end end
end end
def display_s
name
end
private private
def infer_name def infer_name

View File

@ -42,4 +42,19 @@ class JavaRequirement < Requirement
def inspect def inspect
"#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>" "#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
end end
def display_s
if @version
if @version[-1] == "+"
op = ">="
version = @version[0, @version.length-1]
else
op = "="
version = @version
end
"#{name} #{op} #{version}"
else
name
end
end
end end

View File

@ -51,4 +51,8 @@ class LanguageModuleRequirement < Requirement
when :ruby then "gem install" when :ruby then "gem install"
end end
end end
def display_s
"#{@module_name} (#{@language} module)"
end
end end

View File

@ -16,4 +16,8 @@ class MaximumMacOSRequirement < Requirement
versions newer than #{@version.pretty_name} due to an upstream incompatibility. versions newer than #{@version.pretty_name} due to an upstream incompatibility.
EOS EOS
end end
def display_s
"macOS <= #{@version}"
end
end end

View File

@ -13,4 +13,8 @@ class MinimumMacOSRequirement < Requirement
def message def message
"macOS #{@version.pretty_name} or newer is required." "macOS #{@version.pretty_name} or newer is required."
end end
def display_s
"macOS >= #{@version}"
end
end end

View File

@ -25,4 +25,12 @@ class PerlRequirement < Requirement
def inspect def inspect
"#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>" "#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
end end
def display_s
if @version
"#{name} >= #{@version}"
else
name
end
end
end end

View File

@ -25,4 +25,12 @@ class RubyRequirement < Requirement
def inspect def inspect
"#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>" "#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
end end
def display_s
if @version
"#{name} >= #{@version}"
else
name
end
end
end end