Class: RunLoop::Xcode
- Inherits:
-
Object
- Object
- RunLoop::Xcode
- Defined in:
- lib/run_loop/xcode.rb
Overview
All command line tools are run in the context of xcrun.
A model of the active Xcode version.
Throughout this class's documentation, there are references to the
active version of Xcode. The active Xcode version is the one returned
by xcrun xcodebuild. The current Xcode version can be set using
xcode-select or overridden using the DEVELOPER_DIR.
Instance Method Summary collapse
-
#beta? ⇒ Boolean
Is this a beta version of Xcode?.
-
#developer_dir ⇒ String
Returns the path to the current developer directory.
-
#inspect ⇒ Object
Returns debug String representation.
-
#to_s ⇒ Object
Returns a String representation.
-
#v50 ⇒ RunLoop::Version
Returns a version instance for
Xcode 5.0; used to check for the availability of features and paths to various items on the filesystem. -
#v51 ⇒ RunLoop::Version
Returns a version instance for
Xcode 5.1; used to check for the availability of features and paths to various items on the filesystem. -
#v60 ⇒ RunLoop::Version
Returns a version instance for
Xcode 6.0; used to check for the availability of features and paths to various items on the filesystem. -
#v61 ⇒ RunLoop::Version
Returns a version instance for
Xcode 6.1; used to check for the availability of features and paths to various items on the filesystem. -
#v62 ⇒ RunLoop::Version
Returns a version instance for
Xcode 6.2; used to check for the availability of features and paths to various items on the filesystem. -
#v63 ⇒ RunLoop::Version
Returns a version instance for
Xcode 6.3; used to check for the availability of features and paths to various items on the filesystem. -
#v64 ⇒ RunLoop::Version
Returns a version instance for
Xcode 6.4; used to check for the availability of features and paths to various items on the filesystem. -
#v70 ⇒ RunLoop::Version
Returns a version instance for
Xcode 7.0; used to check for the availability of features and paths to various items on the filesystem. -
#v71 ⇒ RunLoop::Version
Returns a version instance for
Xcode 7.1; used to check for the availability of features and paths to various items on the filesystem. -
#version ⇒ RunLoop::Version
Returns the current version of Xcode.
-
#version_gte_51? ⇒ Boolean
Is the active Xcode version 5.1 or above?.
-
#version_gte_61? ⇒ Boolean
Is the active Xcode version 6.1 or above?.
-
#version_gte_62? ⇒ Boolean
Is the active Xcode version 6.2 or above?.
-
#version_gte_63? ⇒ Boolean
Is the active Xcode version 6.3 or above?.
-
#version_gte_64? ⇒ Boolean
Is the active Xcode version 6.4 or above?.
-
#version_gte_6? ⇒ Boolean
Is the active Xcode version 6 or above?.
-
#version_gte_71? ⇒ Boolean
Is the active Xcode version 7.1 or above?.
-
#version_gte_7? ⇒ Boolean
Is the active Xcode version 7 or above?.
Instance Method Details
#beta? ⇒ Boolean
Relies on Xcode beta versions having and app bundle named Xcode-Beta.app
Is this a beta version of Xcode?
172 173 174 |
# File 'lib/run_loop/xcode.rb', line 172 def beta? developer_dir[/Xcode-[Bb]eta.app/, 0] end |
#developer_dir ⇒ String
Returns the path to the current developer directory.
From the man pages:
$ man xcode-select
DEVELOPER_DIR
Overrides the active developer directory. When DEVELOPER_DIR is set,
its value will be used instead of the system-wide active developer
directory.
189 190 191 192 193 194 195 196 |
# File 'lib/run_loop/xcode.rb', line 189 def developer_dir @xcode_developer_dir ||= if RunLoop::Environment.developer_dir RunLoop::Environment.developer_dir else xcode_select_path end end |
#inspect ⇒ Object
Returns debug String representation
23 24 25 |
# File 'lib/run_loop/xcode.rb', line 23 def inspect to_s end |
#to_s ⇒ Object
Returns a String representation.
18 19 20 |
# File 'lib/run_loop/xcode.rb', line 18 def to_s "#<Xcode #{version.to_s}>" end |
#v50 ⇒ RunLoop::Version
Returns a version instance for Xcode 5.0; used to check for the
availability of features and paths to various items on the filesystem.
95 96 97 |
# File 'lib/run_loop/xcode.rb', line 95 def v50 fetch_version(:v50) end |
#v51 ⇒ RunLoop::Version
Returns a version instance for Xcode 5.1; used to check for the
availability of features and paths to various items on the filesystem.
87 88 89 |
# File 'lib/run_loop/xcode.rb', line 87 def v51 fetch_version(:v51) end |
#v60 ⇒ RunLoop::Version
Returns a version instance for Xcode 6.0; used to check for the
availability of features and paths to various items on the filesystem.
79 80 81 |
# File 'lib/run_loop/xcode.rb', line 79 def v60 fetch_version(:v60) end |
#v61 ⇒ RunLoop::Version
Returns a version instance for Xcode 6.1; used to check for the
availability of features and paths to various items on the filesystem.
71 72 73 |
# File 'lib/run_loop/xcode.rb', line 71 def v61 fetch_version(:v61) end |
#v62 ⇒ RunLoop::Version
Returns a version instance for Xcode 6.2; used to check for the
availability of features and paths to various items on the filesystem.
63 64 65 |
# File 'lib/run_loop/xcode.rb', line 63 def v62 fetch_version(:v62) end |
#v63 ⇒ RunLoop::Version
Returns a version instance for Xcode 6.3; used to check for the
availability of features and paths to various items on the filesystem.
55 56 57 |
# File 'lib/run_loop/xcode.rb', line 55 def v63 fetch_version(:v63) end |
#v64 ⇒ RunLoop::Version
Returns a version instance for Xcode 6.4; used to check for the
availability of features and paths to various items on the filesystem.
47 48 49 |
# File 'lib/run_loop/xcode.rb', line 47 def v64 fetch_version(:v64) end |
#v70 ⇒ RunLoop::Version
Returns a version instance for Xcode 7.0; used to check for the
availability of features and paths to various items on the filesystem.
39 40 41 |
# File 'lib/run_loop/xcode.rb', line 39 def v70 fetch_version(:v70) end |
#v71 ⇒ RunLoop::Version
Returns a version instance for Xcode 7.1; used to check for the
availability of features and paths to various items on the filesystem.
31 32 33 |
# File 'lib/run_loop/xcode.rb', line 31 def v71 fetch_version(:v71) end |
#version ⇒ RunLoop::Version
Returns the current version of Xcode.
159 160 161 162 163 164 165 166 |
# File 'lib/run_loop/xcode.rb', line 159 def version @xcode_version ||= lambda do execute_command(['-version']) do |stdout, _, _| version_string = stdout.read.chomp[VERSION_REGEX, 0] RunLoop::Version.new(version_string) end end.call end |
#version_gte_51? ⇒ Boolean
Is the active Xcode version 5.1 or above?
151 152 153 |
# File 'lib/run_loop/xcode.rb', line 151 def version_gte_51? version >= v51 end |
#version_gte_61? ⇒ Boolean
Is the active Xcode version 6.1 or above?
137 138 139 |
# File 'lib/run_loop/xcode.rb', line 137 def version_gte_61? version >= v61 end |
#version_gte_62? ⇒ Boolean
Is the active Xcode version 6.2 or above?
130 131 132 |
# File 'lib/run_loop/xcode.rb', line 130 def version_gte_62? version >= v62 end |
#version_gte_63? ⇒ Boolean
Is the active Xcode version 6.3 or above?
123 124 125 |
# File 'lib/run_loop/xcode.rb', line 123 def version_gte_63? version >= v63 end |
#version_gte_64? ⇒ Boolean
Is the active Xcode version 6.4 or above?
116 117 118 |
# File 'lib/run_loop/xcode.rb', line 116 def version_gte_64? version >= v64 end |
#version_gte_6? ⇒ Boolean
Is the active Xcode version 6 or above?
144 145 146 |
# File 'lib/run_loop/xcode.rb', line 144 def version_gte_6? version >= v60 end |
#version_gte_71? ⇒ Boolean
Is the active Xcode version 7.1 or above?
102 103 104 |
# File 'lib/run_loop/xcode.rb', line 102 def version_gte_71? version >= v71 end |
#version_gte_7? ⇒ Boolean
Is the active Xcode version 7 or above?
109 110 111 |
# File 'lib/run_loop/xcode.rb', line 109 def version_gte_7? version >= v70 end |