Class: Thrust::IOS::Deploy
- Inherits:
-
Object
- Object
- Thrust::IOS::Deploy
- Defined in:
- lib/thrust/ios/deploy.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(out, x_code_tools, git, testflight, thrust_config, deployment_config, deployment_target) ⇒ Deploy
constructor
A new instance of Deploy.
- #run ⇒ Object
Constructor Details
#initialize(out, x_code_tools, git, testflight, thrust_config, deployment_config, deployment_target) ⇒ Deploy
Returns a new instance of Deploy.
12 13 14 15 16 17 18 19 20 |
# File 'lib/thrust/ios/deploy.rb', line 12 def initialize(out, x_code_tools, git, testflight, thrust_config, deployment_config, deployment_target) @out = out @x_code_tools = x_code_tools @git = git @testflight = testflight @thrust_config = thrust_config @deployment_config = deployment_config @deployment_target = deployment_target end |
Class Method Details
.make(thrust_config, deployment_config, deployment_target) ⇒ Object
2 3 4 5 6 7 8 9 10 |
# File 'lib/thrust/ios/deploy.rb', line 2 def self.make(thrust_config, deployment_config, deployment_target) build_configuration = deployment_config['ios_build_configuration'] x_code_tools = Thrust::IOS::XCodeTools.new($stdout, build_configuration, thrust_config.build_dir, thrust_config.app_config['project_name']) git = Thrust::Git.new($stdout) testflight_config = thrust_config.app_config['testflight'] testflight = Thrust::Testflight.new($stdout, $stdin, testflight_config['api_token'], testflight_config['team_token']) new($stdout, x_code_tools, git, testflight, thrust_config, deployment_config, deployment_target) end |
Instance Method Details
#run ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/thrust/ios/deploy.rb', line 22 def run @git.ensure_clean @x_code_tools.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 |