aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorMike McQuaid2016-07-04 18:35:03 +0100
committerGitHub2016-07-04 18:35:03 +0100
commit59074e91d69417f0cf00e4cc9d674431a1e5963f (patch)
tree72a7d9b400e4c80f48710221a1e4773b59cbcf69 /Library/Homebrew
parenta1b0ef1300ff8ac07ef904479b0321a2a5fc0368 (diff)
downloadbrew-59074e91d69417f0cf00e4cc9d674431a1e5963f.tar.bz2
diagnostic: more porting to generic OS. (#449)
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/cmd/install.rb12
-rw-r--r--Library/Homebrew/diagnostic.rb15
-rw-r--r--Library/Homebrew/extend/os/mac/diagnostic.rb10
3 files changed, 28 insertions, 9 deletions
diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb
index f105eede4..56cfbc24f 100644
--- a/Library/Homebrew/cmd/install.rb
+++ b/Library/Homebrew/cmd/install.rb
@@ -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
diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb
index 8bce63559..020be9053 100644
--- a/Library/Homebrew/diagnostic.rb
+++ b/Library/Homebrew/diagnostic.rb
@@ -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)
diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb
index 31830e4af..37c1efdc2 100644
--- a/Library/Homebrew/extend/os/mac/diagnostic.rb
+++ b/Library/Homebrew/extend/os/mac/diagnostic.rb
@@ -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?