diff options
| author | Max Howell | 2012-08-31 10:20:20 -0400 |
|---|---|---|
| committer | Max Howell | 2012-08-31 10:22:11 -0400 |
| commit | b98c4792d0aeca67df509802d376e866bcf3bcd0 (patch) | |
| tree | 11a18444a4bf4fbf39e2e5ca8b5faf6d5db2a16e | |
| parent | 1555436f70162a2da6dc0b4b96008c21f1de2a1a (diff) | |
| download | brew-b98c4792d0aeca67df509802d376e866bcf3bcd0.tar.bz2 | |
Doctor check for unlicensed Xcode
Checking the license text is probably the most future proofed method. Though for future reference other possible methods are listed in the below ticket.
Closes Homebrew/homebrew#14558.
| -rw-r--r-- | Library/Homebrew/cmd/doctor.rb | 10 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/install.rb | 7 |
2 files changed, 15 insertions, 2 deletions
diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 0786d7c99..39fed18d9 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -925,6 +925,16 @@ def check_os_version end end + def check_xcode_license_approved + # If the user installs Xcode-only, they have to approve the + # license or no "xc*" tool will work. + <<-EOS.undent if `/usr/bin/xcrun clang 2>&1` =~ /license/ and not $?.success? + You have not agreed to the Xcode license. + Builds will fail! Agree to the license by opening Xcode.app or running: + xcodebuild -license + EOS + end + end # end class Checks module Homebrew extend self diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index 85b502d1d..b01866958 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -37,8 +37,11 @@ module Homebrew extend self def check_xcode require 'cmd/doctor' - xcode = Checks.new.check_for_latest_xcode - opoo xcode unless xcode.nil? + checks = Checks.new + %w{check_for_latest_xcode check_xcode_license_approved}.each do |check| + out = checks.send(check) + opoo out unless out.nil? + end end def check_macports |
