Module: Xcode::Platforms
- Defined in:
- lib/xcode/platform.rb
Constant Summary collapse
- @@platforms =
[]
Class Method Summary collapse
Class Method Details
.[](sdk_name) ⇒ Object
6 7 8 |
# File 'lib/xcode/platform.rb', line 6 def self.[] sdk_name supported.find {|p| p.sdk==sdk_name} end |
.find(platform, version = nil) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/xcode/platform.rb', line 10 def self.find platform, version = nil platform = supported.sort do |a,b| a.version.to_f <=> b.version.to_f end.find do |p| p.platform==platform and (version.nil? or p.version==version) end raise "Unable to find a platform #{platform},#{version} - available platforms are #{supported.map{|p| p.sdk}.join(', ')}" if platform.nil? platform end |
.supported ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/xcode/platform.rb', line 22 def self.supported return @@platforms unless @@platforms.count==0 parsing = false `xcodebuild -showsdks`.split("\n").each do |l| l.strip! if l=~/(.*)\s+SDKs:/ parsing = true elsif l=~/^\s*$/ parsing = false elsif parsing l=~/([^\t]+)\t+\-sdk (.*)/ name = $1.strip $2.strip=~/([a-zA-Z]+)(\d+\.\d+)/ platform = Platform.new name, $1, $2 @@platforms << platform end end @@platforms end |