diagnostic: more porting to generic OS. (#449)

This commit is contained in:
Mike McQuaid 2016-07-04 18:35:03 +01:00 committed by GitHub
parent a1b0ef1300
commit 59074e91d6
3 changed files with 28 additions and 9 deletions

View File

@ -218,15 +218,9 @@ module Homebrew
raise "Cannot write to #{HOMEBREW_PREFIX}" unless HOMEBREW_PREFIX.writable_real? || HOMEBREW_PREFIX.to_s == "/usr/local"
end
def check_xcode
def check_development_tools
checks = Diagnostic::Checks.new
%w[
check_for_unsupported_osx
check_for_bad_install_name_tool
check_for_installed_developer_tools
check_xcode_license_approved
check_for_osx_gcc_installer
].each do |check|
checks.all_development_tools_checks.each do |check|
out = checks.send(check)
opoo out unless out.nil?
end
@ -252,7 +246,7 @@ module Homebrew
def perform_preinstall_checks
check_ppc
check_writable_install_location
check_xcode if MacOS.has_apple_developer_tools?
check_development_tools if DevelopmentTools.installed?
check_cellar
end

View File

@ -85,6 +85,21 @@ module Homebrew
end
############# END HELPERS
def all_development_tools_checks
%w[
check_for_installed_developer_tools
]
end
def check_for_installed_developer_tools
return if DevelopmentTools.installed?
<<-EOS.undent
No developer tools installed.
Install clang or gcc.
EOS
end
# See https://github.com/Homebrew/legacy-homebrew/pull/9986
def check_path_for_trailing_slashes
all_paths = ENV["PATH"].split(File::PATH_SEPARATOR)

View File

@ -1,6 +1,16 @@
module Homebrew
module Diagnostic
class Checks
def all_development_tools_checks
%w[
check_for_unsupported_osx
check_for_bad_install_name_tool
check_for_installed_developer_tools
check_xcode_license_approved
check_for_osx_gcc_installer
]
end
def check_for_unsupported_osx
return if ARGV.homebrew_developer?