Skip to content
Snippets Groups Projects
Commit 5aaccba3 authored by Andrew Janke's avatar Andrew Janke
Browse files

info: include versions and other details in Requirements display

parent 245838d8
No related branches found
No related tags found
No related merge requests found
......@@ -45,7 +45,7 @@ module Homebrew
end
else
ARGV.named.each_with_index do |f, i|
puts unless i == 0
puts unless i.zero?
begin
if f.include?("/") || File.exist?(f)
info_formula Formulary.factory(f)
......@@ -150,7 +150,8 @@ module Homebrew
ohai "Requirements"
%w[build required recommended optional].map do |type|
reqs = f.requirements.select(&:"#{type}?")
puts "#{type.capitalize}: #{decorate_requirements(reqs)}" unless reqs.to_a.empty?
next if reqs.to_a.empty?
puts "#{type.capitalize}: #{decorate_requirements(reqs)}"
end
end
......@@ -172,8 +173,9 @@ module Homebrew
def decorate_requirements(requirements)
req_status = requirements.collect do |req|
req.satisfied? ? pretty_installed(req.name) : pretty_uninstalled(req.name)
req_s = req.display_s
req.satisfied? ? pretty_installed(req_s) : pretty_uninstalled(req_s)
end
req_status * ", "
req_status.join(", ")
end
end
......@@ -122,6 +122,10 @@ class Requirement
end
end
def display_s
name
end
private
def infer_name
......
......@@ -42,4 +42,19 @@ class JavaRequirement < Requirement
def inspect
"#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
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
......@@ -51,4 +51,8 @@ class LanguageModuleRequirement < Requirement
when :ruby then "gem install"
end
end
def display_s
"#{@module_name} (#{@language} module)"
end
end
......@@ -16,4 +16,8 @@ class MaximumMacOSRequirement < Requirement
versions newer than #{@version.pretty_name} due to an upstream incompatibility.
EOS
end
def display_s
"macOS <= #{@version}"
end
end
......@@ -13,4 +13,8 @@ class MinimumMacOSRequirement < Requirement
def message
"OS X #{@version.pretty_name} or newer is required."
end
def display_s
"macOS >= #{@version}"
end
end
......@@ -25,4 +25,12 @@ class PerlRequirement < Requirement
def inspect
"#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
end
def display_s
if @version
"#{name} >= #{@version}"
else
name
end
end
end
......@@ -25,4 +25,12 @@ class RubyRequirement < Requirement
def inspect
"#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
end
def display_s
if @version
"#{name} >= #{@version}"
else
name
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment