Merge pull request #2399 from MikeMcQuaid/unversioned-formulae-check
audit: check for unversioned formulae.
This commit is contained in:
commit
7d66e29927
@ -331,25 +331,33 @@ class FormulaAuditor
|
|||||||
|
|
||||||
problem "File should end with a newline" unless text.trailing_newline?
|
problem "File should end with a newline" unless text.trailing_newline?
|
||||||
|
|
||||||
versioned_formulae = Dir[formula.path.to_s.gsub(/\.rb$/, "@*.rb")]
|
if formula.versioned_formula?
|
||||||
needs_versioned_alias = !versioned_formulae.empty? &&
|
unversioned_formula = Pathname.new formula.path.to_s.gsub(/@.*\.rb$/, ".rb")
|
||||||
formula.tap &&
|
unless unversioned_formula.exist?
|
||||||
formula.aliases.grep(/.@\d/).empty?
|
unversioned_name = unversioned_formula.basename(".rb")
|
||||||
if needs_versioned_alias
|
problem "#{formula} is versioned but no #{unversioned_name} formula exists"
|
||||||
_, last_alias_version = File.basename(versioned_formulae.sort.reverse.first)
|
end
|
||||||
.gsub(/\.rb$/, "")
|
else
|
||||||
.split("@")
|
versioned_formulae = Dir[formula.path.to_s.gsub(/\.rb$/, "@*.rb")]
|
||||||
major, minor, = formula.version.to_s.split(".")
|
needs_versioned_alias = !versioned_formulae.empty? &&
|
||||||
alias_name = if last_alias_version.split(".").length == 1
|
formula.tap &&
|
||||||
"#{formula.name}@#{major}"
|
formula.aliases.grep(/.@\d/).empty?
|
||||||
else
|
if needs_versioned_alias
|
||||||
"#{formula.name}@#{major}.#{minor}"
|
_, last_alias_version = File.basename(versioned_formulae.sort.reverse.first)
|
||||||
|
.gsub(/\.rb$/, "")
|
||||||
|
.split("@")
|
||||||
|
major, minor, = formula.version.to_s.split(".")
|
||||||
|
alias_name = if last_alias_version.split(".").length == 1
|
||||||
|
"#{formula.name}@#{major}"
|
||||||
|
else
|
||||||
|
"#{formula.name}@#{major}.#{minor}"
|
||||||
|
end
|
||||||
|
problem <<-EOS.undent
|
||||||
|
Formula has other versions so create an alias:
|
||||||
|
cd #{formula.tap.alias_dir}
|
||||||
|
ln -s #{formula.path.to_s.gsub(formula.tap.path, "..")} #{alias_name}
|
||||||
|
EOS
|
||||||
end
|
end
|
||||||
problem <<-EOS.undent
|
|
||||||
Formula has other versions so create an alias:
|
|
||||||
cd #{formula.tap.alias_dir}
|
|
||||||
ln -s #{formula.path.to_s.gsub(formula.tap.path, "..")} #{alias_name}
|
|
||||||
EOS
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return unless @strict
|
return unless @strict
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user