From 56351558b8210d2ee9cfabf939db61dfeb9438af Mon Sep 17 00:00:00 2001 From: Max Howell Date: Wed, 6 Jan 2010 23:38:07 +0000 Subject: Check GitHub for issues relating to build failures Uses the GitHub issue search API, so it's very neat and concise. However you can get false positives, so it's not 100% useful. Still I think it is more useful than before, which was, nothing. A further issue is it depends on the ticket at GitHub using the formula's proper name. So we should ensure this as we can. Finally, it does add a possibly large delay to clean exit after a build error. We may want to fiddle with timeouts if it becomes troublesome.--- Library/Homebrew/brew.h.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'Library') diff --git a/Library/Homebrew/brew.h.rb b/Library/Homebrew/brew.h.rb index 774ea8093..2ae9ed669 100644 --- a/Library/Homebrew/brew.h.rb +++ b/Library/Homebrew/brew.h.rb @@ -212,6 +212,28 @@ rescue FormulaUnavailableError end end +def issues_for_formula name + # bit basic as depends on the issue at github having the exact name of the + # formula in it. Which for stuff like objective-caml is unlikely. So we + # really should search for aliases too. + + name = f.name if Formula === name + + require 'open-uri' + require 'yaml' + + issues = [] + + open("http://github.com/api/v2/yaml/issues/search/mxcl/homebrew/open/"+name) do |f| + YAML::load(f.read)['issues'].each do |issue| + issues << 'http://github.com/mxcl/homebrew/issues/#issue/%s' % issue['number'] + end + end + + issues +rescue + [] +end def clean f Cleaner.new f -- cgit v1.2.3