Class: Thrust::IOS::Deploy

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

Instance Method Summary collapse

Constructor Details

#initialize(out, x_code_tools, agv_tool, git, testflight, thrust_config, deployment_config, deployment_target) ⇒ Deploy

Returns a new instance of Deploy.



2
3
4
5
6
7
8
9
10
11
# File 'lib/thrust/ios/deploy.rb', line 2

def initialize(out, x_code_tools, agv_tool, git, testflight, thrust_config, deployment_config, deployment_target)
  @out = out
  @x_code_tools = x_code_tools
  @agv_tool = agv_tool
  @git = git
  @testflight = testflight
  @thrust_config = thrust_config
  @deployment_config = deployment_config
  @deployment_target = deployment_target
end

Instance Method Details

#runObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/thrust/ios/deploy.rb', line 13

def run
  @git.ensure_clean
  @agv_tool.change_build_number(@git.current_commit)

  app_name = @thrust_config.app_config['app_name']
  target = @deployment_config['ios_target'] || app_name
  ipa_file = @x_code_tools.cleanly_create_ipa(target, app_name, @thrust_config.app_config['ios_distribution_certificate'], @deployment_config['ios_provisioning_search_query'])

  dsym_path = "#{@x_code_tools.build_configuration_directory}/#{app_name}.app.dSYM"

  autogenerate_notes = @deployment_config['note_generation_method'] == 'autotag'
  @testflight.upload(ipa_file, @deployment_config['notify'], @deployment_config['distribution_list'], autogenerate_notes, @deployment_target, dsym_path)
  @git.reset
end