brew audit - check used and documented options
This commit is contained in:
parent
b12cc1eb0a
commit
ff0ea323b5
@ -60,6 +60,40 @@ def audit_formula_text text
|
|||||||
return problems
|
return problems
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def audit_formula_options f, text
|
||||||
|
problems = []
|
||||||
|
|
||||||
|
# Find possible options
|
||||||
|
options = []
|
||||||
|
text.scan(/ARGV\.include\?[ ]*\(?(['"])(.+?)\1/) { |m| options << m[1] }
|
||||||
|
options.reject! {|o| o.include? "#"}
|
||||||
|
options.uniq!
|
||||||
|
|
||||||
|
# Find documented options
|
||||||
|
begin
|
||||||
|
opts = f.options
|
||||||
|
documented_options = []
|
||||||
|
opts.each{ |o| documented_options << o[0] }
|
||||||
|
documented_options.reject! {|o| o.include? "="}
|
||||||
|
rescue
|
||||||
|
documented_options = []
|
||||||
|
end
|
||||||
|
|
||||||
|
if options.length > 0
|
||||||
|
options.each do |o|
|
||||||
|
problems << " * Option #{o} is not documented" unless documented_options.include? o
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if documented_options.length > 0
|
||||||
|
documented_options.each do |o|
|
||||||
|
problems << " * Option #{o} is unused" unless options.include? o
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return problems
|
||||||
|
end
|
||||||
|
|
||||||
def audit_some_formulae
|
def audit_some_formulae
|
||||||
ff.each do |f|
|
ff.each do |f|
|
||||||
problems = []
|
problems = []
|
||||||
@ -82,6 +116,7 @@ def audit_some_formulae
|
|||||||
text_without_patch = (text.split("__END__")[0]).strip()
|
text_without_patch = (text.split("__END__")[0]).strip()
|
||||||
|
|
||||||
problems += audit_formula_text(text_without_patch)
|
problems += audit_formula_text(text_without_patch)
|
||||||
|
problems += audit_formula_options(f, text_without_patch)
|
||||||
|
|
||||||
unless problems.empty?
|
unless problems.empty?
|
||||||
puts "#{f.name}:"
|
puts "#{f.name}:"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user