From 4c02b2276b708e6018c28900ab55184c31b0afdc Mon Sep 17 00:00:00 2001 From: Max Howell Date: Fri, 16 Mar 2012 17:24:46 +0000 Subject: [PATCH] Taps can only have one directory of formula 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. --- Library/Homebrew/extend/pathname.rb | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index da195e5a86..8465408fed 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -318,16 +318,33 @@ class Pathname 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