diff options
| author | Mike McQuaid | 2016-11-06 17:58:24 +0000 |
|---|---|---|
| committer | Mike McQuaid | 2016-11-06 17:58:24 +0000 |
| commit | b8647778ee2d9ea7bc5a6c3cd7a5812c7d7ea9c8 (patch) | |
| tree | 03c9d0e2b04d42501a66455ce24d34fbfb835583 /Library/Homebrew/extend/os/mac | |
| parent | f46e0032bffffece8e72ffffdb28ac0b1ea7c014 (diff) | |
| parent | ce2b11fd656e85a2cd73f45b4ac25fd34b1599cf (diff) | |
| download | brew-b8647778ee2d9ea7bc5a6c3cd7a5812c7d7ea9c8.tar.bz2 | |
Merge remote-tracking branch 'origin/master' into HEAD
Diffstat (limited to 'Library/Homebrew/extend/os/mac')
| -rw-r--r-- | Library/Homebrew/extend/os/mac/diagnostic.rb | 54 | ||||
| -rw-r--r-- | Library/Homebrew/extend/os/mac/utils/bottles.rb | 1 |
2 files changed, 41 insertions, 14 deletions
diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb index 0ac95bfd9..0f37e8af5 100644 --- a/Library/Homebrew/extend/os/mac/diagnostic.rb +++ b/Library/Homebrew/extend/os/mac/diagnostic.rb @@ -10,19 +10,23 @@ module Homebrew check_xcode_license_approved check_for_osx_gcc_installer check_xcode_8_without_clt_on_el_capitan - ] + check_xcode_up_to_date + check_clt_up_to_date + check_for_other_package_managers + ].freeze end def fatal_development_tools_checks - if MacOS.version >= :sierra && ENV["CI"].nil? - %w[ - check_xcode_up_to_date - check_clt_up_to_date - ] - else - %w[ - ] - end + %w[ + check_xcode_minimum_version + check_clt_minimum_version + ].freeze + end + + def build_error_checks + (development_tools_checks + %w[ + check_for_unsupported_macos + ]).freeze end def check_for_unsupported_macos @@ -62,7 +66,8 @@ module Homebrew end def check_xcode_up_to_date - return unless MacOS::Xcode.installed? && MacOS::Xcode.outdated? + return unless MacOS::Xcode.installed? + return unless MacOS::Xcode.outdated? message = <<-EOS.undent Your Xcode (#{MacOS::Xcode.version}) is outdated. @@ -83,7 +88,8 @@ module Homebrew end def check_clt_up_to_date - return unless MacOS::CLT.installed? && MacOS::CLT.outdated? + return unless MacOS::CLT.installed? + return unless MacOS::CLT.outdated? <<-EOS.undent A newer Command Line Tools release is available. @@ -94,7 +100,8 @@ module Homebrew def check_xcode_8_without_clt_on_el_capitan return unless MacOS::Xcode.without_clt? # Scope this to Xcode 8 on El Cap for now - return unless MacOS.version == :el_capitan && MacOS::Xcode.version >= "8" + return unless MacOS.version == :el_capitan + return unless MacOS::Xcode.version >= "8" <<-EOS.undent You have Xcode 8 installed without the CLT; @@ -104,6 +111,27 @@ module Homebrew EOS end + def check_xcode_minimum_version + return unless MacOS::Xcode.installed? + return unless MacOS::Xcode.minimum_version? + + <<-EOS.undent + Your Xcode (#{MacOS::Xcode.version}) is too outdated. + Please update to Xcode #{MacOS::Xcode.latest_version} (or delete it). + #{MacOS::Xcode.update_instructions} + EOS + end + + def check_clt_minimum_version + return unless MacOS::CLT.installed? + return unless MacOS::CLT.minimum_version? + + <<-EOS.undent + Your Command Line Tools are too outdated. + #{MacOS::CLT.update_instructions} + EOS + end + def check_for_osx_gcc_installer return unless MacOS.version < "10.7" || ((MacOS::Xcode.version || "0") > "4.1") return unless DevelopmentTools.clang_version == "2.1" diff --git a/Library/Homebrew/extend/os/mac/utils/bottles.rb b/Library/Homebrew/extend/os/mac/utils/bottles.rb index 0dd7341ea..18312c9fa 100644 --- a/Library/Homebrew/extend/os/mac/utils/bottles.rb +++ b/Library/Homebrew/extend/os/mac/utils/bottles.rb @@ -38,7 +38,6 @@ module Utils # Allows a bottle tag to specify a specific OS or later, # so the same bottle can target multiple OSs. - # Not used in core, used in taps. def find_or_later_tag(tag) begin tag_version = MacOS::Version.from_symbol(tag) |
