Class: Thrust::IOS::Cedar

Inherits:
Object
  • Object
show all
Defined in:
lib/thrust/ios/cedar.rb

Instance Method Summary collapse

Constructor Details

#initialize(out = $stdout, thrust_executor = Thrust::Executor.new) ⇒ Cedar

Returns a new instance of Cedar.



6
7
8
9
# File 'lib/thrust/ios/cedar.rb', line 6

def initialize(out = $stdout, thrust_executor = Thrust::Executor.new)
  @thrust_executor = thrust_executor
  @out = out
end

Instance Method Details

#run(build_configuration, target, build_sdk, os_version, device_name, timeout, build_dir, simulator_binary) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/thrust/ios/cedar.rb', line 11

def run(build_configuration, target, build_sdk, os_version, device_name, timeout, build_dir, simulator_binary)
  if build_sdk == 'macosx'
    build_path = File.join(build_dir, build_configuration)
    app_dir = File.join(build_path, target)
    @thrust_executor.check_command_for_failure(app_dir.inspect, {'DYLD_FRAMEWORK_PATH' => build_path.inspect})
  else
    device_type_id = "com.apple.CoreSimulator.SimDeviceType.#{device_name}, #{os_version}"

    app_executable = File.join(build_dir, "#{build_configuration}-#{build_sdk}", "#{target}.app")
    simulator_binary ||= 'ios-sim'
    timeout ||= '30'
    @thrust_executor.check_command_for_failure(%Q[#{simulator_binary} launch #{app_executable} --devicetypeid '#{device_type_id}' --timeout #{timeout} --setenv CFFIXED_USER_HOME=#{Dir.tmpdir} --setenv CEDAR_REPORTER_CLASS=CDRDefaultReporter])
  end
end