Merge pull request #965 from mistydemeo/warn_xcode_8_without_clt

Warn when using Xcode 8 without CLT on 10.11
This commit is contained in:
Misty De Meo 2016-09-16 16:22:45 +10:00 committed by GitHub
commit 67cb634e20
2 changed files with 22 additions and 0 deletions

View File

@ -9,6 +9,7 @@ module Homebrew
check_for_installed_developer_tools check_for_installed_developer_tools
check_xcode_license_approved check_xcode_license_approved
check_for_osx_gcc_installer check_for_osx_gcc_installer
check_xcode_8_without_clt_on_el_capitan
] ]
end end
@ -90,6 +91,19 @@ module Homebrew
EOS EOS
end end
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"
<<-EOS.undent
You have Xcode 8 installed without the CLT;
this causes certain builds to fail on OS X 10.11.
Please install the CLT via:
sudo xcode-select --install
EOS
end
def check_for_osx_gcc_installer def check_for_osx_gcc_installer
return unless MacOS.version < "10.7" || ((MacOS::Xcode.version || "0") > "4.1") return unless MacOS.version < "10.7" || ((MacOS::Xcode.version || "0") > "4.1")
return unless DevelopmentTools.clang_version == "2.1" return unless DevelopmentTools.clang_version == "2.1"

View File

@ -38,4 +38,12 @@ class OSMacDiagnosticChecksTest < Homebrew::TestCase
MacOS::XQuartz.stubs(:version).returns("2.7.10_beta2") MacOS::XQuartz.stubs(:version).returns("2.7.10_beta2")
assert_match "The following beta release of XQuartz is installed: 2.7.10_beta2", @checks.check_for_beta_xquartz assert_match "The following beta release of XQuartz is installed: 2.7.10_beta2", @checks.check_for_beta_xquartz
end end
def test_check_xcode_8_without_clt_on_el_capitan
MacOS.stubs(:version).returns OS::Mac::Version.new("10.11")
MacOS::Xcode.stubs(:installed?).returns true
MacOS::Xcode.stubs(:version).returns "8.0"
MacOS::Xcode.stubs(:without_clt?).returns true
assert_match "You have Xcode 8 installed without the CLT", @checks.check_xcode_8_without_clt_on_el_capitan
end
end end