mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00

Large refactor to Formula, mostly improving reliability and error handling but also layout and readability. General improvements so testing can be more complete. Patches are automatically downloaded and applied for Formula that return a list of urls from Formula::patches. Split out the brew command logic to facilitate testing. Facility from Adam Vandenberg to allow selective cleaning of files, added because Python doesn't work when stripped.
46 lines
1.3 KiB
Ruby
46 lines
1.3 KiB
Ruby
# Copyright 2009 Max Howell <max@methylblue.com>
|
|
#
|
|
# This file is part of Homebrew.
|
|
#
|
|
# Homebrew is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Homebrew is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Homebrew. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
def ohai title
|
|
n=`tput cols`.strip.to_i-4
|
|
puts "\033[0;34m==>\033[0;0;1m #{title[0,n]}\033[0;0m"
|
|
end
|
|
|
|
# shows a warning in delicious pink
|
|
def opoo warning
|
|
puts "\033[1;35m==>\033[0;0;1m Warning\033[0;0m: #{warning}"
|
|
end
|
|
|
|
def onoe error
|
|
puts "\033[1;31m==>\033[0;0;1m Error\033[0;0m: #{error}"
|
|
end
|
|
|
|
def pretty_duration s
|
|
return "#{(s*1000).to_i} milliseconds" if s < 3
|
|
return "#{s.to_i} seconds" if s < 10*60
|
|
return "#{(s/60).to_i} minutes"
|
|
end
|
|
|
|
def interactive_shell
|
|
pid=fork
|
|
if pid.nil?
|
|
exec ENV['SHELL']
|
|
else
|
|
Process.wait pid
|
|
end
|
|
end
|