Method: RunLoop::Xcode#version

Defined in:
lib/run_loop/xcode.rb

#versionRunLoop::Version

Returns the current version of Xcode.

Returns:

  • (RunLoop::Version)

    The current version of Xcode as reported by ‘xcrun xcodebuild -version`.



198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
# File 'lib/run_loop/xcode.rb', line 198

def version
  @xcode_version ||= begin
    if RunLoop::Environment.xtc?
      RunLoop::Version.new("0.0.0")
    else
      version = RunLoop::Version.new("0.0.0")
      begin
        args = ["xcrun", "xcodebuild", "-version"]
        hash = run_shell_command(args)
        if hash[:exit_status] != 0
          RunLoop.log_error("xcrun xcodebuild -version exited non-zero")
        else
          out = hash[:out]
          version_string = out.chomp[VERSION_REGEX, 0]
          version = RunLoop::Version.new(version_string)
        end
      rescue RuntimeError => e
        RunLoop.log_error(%Q[
Could not find Xcode version:

  #{e.class}: #{e.message}
])
      end
      version
    end
  end
end