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. -
#v72 ⇒ 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_72? ⇒ 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?
187 188 189 |
# File 'lib/run_loop/xcode.rb', line 187 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.
204 205 206 207 208 209 210 211 |
# File 'lib/run_loop/xcode.rb', line 204 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.
103 104 105 |
# File 'lib/run_loop/xcode.rb', line 103 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.
95 96 97 |
# File 'lib/run_loop/xcode.rb', line 95 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.
87 88 89 |
# File 'lib/run_loop/xcode.rb', line 87 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.
79 80 81 |
# File 'lib/run_loop/xcode.rb', line 79 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.
71 72 73 |
# File 'lib/run_loop/xcode.rb', line 71 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.
63 64 65 |
# File 'lib/run_loop/xcode.rb', line 63 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.
55 56 57 |
# File 'lib/run_loop/xcode.rb', line 55 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.
47 48 49 |
# File 'lib/run_loop/xcode.rb', line 47 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.
39 40 41 |
# File 'lib/run_loop/xcode.rb', line 39 def v71 fetch_version(:v71) end |
#v72 ⇒ 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 v72 fetch_version(:v72) end |
#version ⇒ RunLoop::Version
Returns the current version of Xcode.
174 175 176 177 178 179 180 181 |
# File 'lib/run_loop/xcode.rb', line 174 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?
166 167 168 |
# File 'lib/run_loop/xcode.rb', line 166 def version_gte_51? version >= v51 end |
#version_gte_61? ⇒ Boolean
Is the active Xcode version 6.1 or above?
152 153 154 |
# File 'lib/run_loop/xcode.rb', line 152 def version_gte_61? version >= v61 end |
#version_gte_62? ⇒ Boolean
Is the active Xcode version 6.2 or above?
145 146 147 |
# File 'lib/run_loop/xcode.rb', line 145 def version_gte_62? version >= v62 end |
#version_gte_63? ⇒ Boolean
Is the active Xcode version 6.3 or above?
138 139 140 |
# File 'lib/run_loop/xcode.rb', line 138 def version_gte_63? version >= v63 end |
#version_gte_64? ⇒ Boolean
Is the active Xcode version 6.4 or above?
131 132 133 |
# File 'lib/run_loop/xcode.rb', line 131 def version_gte_64? version >= v64 end |
#version_gte_6? ⇒ Boolean
Is the active Xcode version 6 or above?
159 160 161 |
# File 'lib/run_loop/xcode.rb', line 159 def version_gte_6? version >= v60 end |
#version_gte_71? ⇒ Boolean
Is the active Xcode version 7.1 or above?
117 118 119 |
# File 'lib/run_loop/xcode.rb', line 117 def version_gte_71? version >= v71 end |
#version_gte_72? ⇒ Boolean
Is the active Xcode version 7.1 or above?
110 111 112 |
# File 'lib/run_loop/xcode.rb', line 110 def version_gte_72? version >= v72 end |
#version_gte_7? ⇒ Boolean
Is the active Xcode version 7 or above?
124 125 126 |
# File 'lib/run_loop/xcode.rb', line 124 def version_gte_7? version >= v70 end |