Skip to content

Commit

Permalink
Taps can only have one directory of formula
Browse files Browse the repository at this point in the history
Rationale: Let's not have duplicate-names. Insisting on only one directory lets the filesystem enforce this unique-naming criteria for us.

We special-case adamv/alt for now, until we remove it.
  • Loading branch information
mxcl committed Mar 16, 2012
1 parent fa215d3 commit e613cbe
Showing 1 changed file with 19 additions and 2 deletions.
21 changes: 19 additions & 2 deletions Library/Homebrew/extend/pathname.rb
Original file line number Diff line number Diff line change
Expand Up @@ -318,16 +318,33 @@ def uninstall_info
system '/usr/bin/install-info', '--delete', '--quiet', self.to_s, (self.dirname+'dir').to_s
end
def find_formula pwd = self
def all_formula pwd = self
children.map{ |child| child.relative_path_from(pwd) }.each do |pn|
yield pn if pn.to_s =~ /.rb$/
end
children.each do |child|
child.find_formula(pwd) do |pn|
child.all_formula(pwd) do |pn|
yield pn
end if child.directory?
end
end
def find_formula
# remove special casing once tap is established and alt removed
if self == HOMEBREW_LIBRARY/"Taps/adamv-alt"
all_formula do |file|
yield file
end
return
end
[self/:Formula, self/:HomebrewFormula, self].each do |d|
d.children.map{ |child| child.relative_path_from(self) }.each do |pn|
yield pn if pn.to_s =~ /.rb$/
break
end if d.exist?
end
end
end
# sets $n and $d so you can observe creation of stuff
Expand Down

0 comments on commit e613cbe

Please sign in to comment.