class Luffa::Xcode
Public Class Methods
ios_version_incompatible_with_xcode_version?(ios_version, xcode_version)
click to toggle source
# File lib/luffa/ios/xcode.rb, line 43 def self.ios_version_incompatible_with_xcode_version?(ios_version, xcode_version) [(ios_version >= Luffa::Version.new('8.0') && xcode_version < Luffa::Version.new('6.0')), (ios_version >= Luffa::Version.new('8.1') && xcode_version < Luffa::Version.new('6.1')), (ios_version >= Luffa::Version.new('8.2') && xcode_version < Luffa::Version.new('6.2')), (ios_version >= Luffa::Version.new('8.3') && xcode_version < Luffa::Version.new('6.3'))].any? end
with_developer_dir(developer_dir, &block)
click to toggle source
# File lib/luffa/ios/xcode.rb, line 28 def self.with_developer_dir(developer_dir, &block) original_developer_dir = Luffa::Environment.developer_dir stripped = developer_dir.strip begin ENV['DEVELOPER_DIR'] = stripped block.call ensure ENV['DEVELOPER_DIR'] = original_developer_dir end end
with_xcode_install(xcode_install, &block)
click to toggle source
# File lib/luffa/ios/xcode.rb, line 39 def self.with_xcode_install(xcode_install, &block) self.with_developer_dir(xcode_install.path, &block) end
Public Instance Methods
active_xcode()
click to toggle source
# File lib/luffa/ios/xcode.rb, line 89 def active_xcode @active_xcode ||= Luffa::XcodeInstall.new(active_xcode_dir) end
active_xcode_dir()
click to toggle source
The developer dir at the time the tests start.
To change the active Xcode:
$ DEVELOPER_DIR=/path/to/Xcode.app/Contents/Developer be rake spec
# File lib/luffa/ios/xcode.rb, line 73 def active_xcode_dir @active_xcode_dir ||= lambda { env = Luffa::Environment.developer_dir if env env else # fall back to xcode-select xcode_select_path end }.call end
xcode_installs()
click to toggle source
# File lib/luffa/ios/xcode.rb, line 50 def xcode_installs @xcode_installs ||= lambda do min_xcode_version = Luffa::Version.new('5.1.1') active_xcode = Luffa::Xcode.new.active_xcode xcodes = [active_xcode] Dir.glob('/Xcode/*/*.app/Contents/Developer').each do |path| xcode_version = path[/(\d\.\d(\.\d)?)/, 0] if Luffa::Version.new(xcode_version) >= min_xcode_version install = Luffa::XcodeInstall.new(path) unless install == active_xcode xcodes << install end end end xcodes end.call end
xcode_select_path()
click to toggle source
# File lib/luffa/ios/xcode.rb, line 85 def xcode_select_path @xcode_select_dir ||= `xcode-select --print-path`.strip end