pilot/lib/pilot/build_manager.rb in fastlane-2.119.0.beta.20190322200024 vs pilot/lib/pilot/build_manager.rb in fastlane-2.119.0.beta.20190323200019
- old
+ new
@@ -32,11 +32,11 @@
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(app_id: app.apple_id,
ipa_path: config[:ipa],
package_path: dir,
platform: platform)
- transporter = FastlaneCore::ItunesTransporter.new(options[:username], nil, false, options[:itc_provider])
+ transporter = transporter_for_selected_team(options)
result = transporter.upload(app.apple_id, package_path)
unless result
UI.user_error!("Error uploading ipa file, for more information see above")
end
@@ -208,9 +208,28 @@
!options[:localized_app_info].nil?
end
def should_update_localized_build_information?(options)
!options[:localized_build_info].nil?
+ end
+
+ # If itc_provider was explicitly specified, use it.
+ # If there are multiple teams, infer the provider from the selected team name.
+ # If there are fewer than two teams, don't infer the provider.
+ def transporter_for_selected_team(options)
+ generic_transporter = FastlaneCore::ItunesTransporter.new(options[:username], nil, false, options[:itc_provider])
+ return generic_transporter unless options[:itc_provider].nil? && Spaceship::Tunes.client.teams.count > 1
+
+ begin
+ team = Spaceship::Tunes.client.teams.find { |t| t['contentProvider']['contentProviderId'].to_s == Spaceship::Tunes.client.team_id }
+ name = team['contentProvider']['name']
+ provider_id = generic_transporter.provider_ids[name]
+ UI.verbose("Inferred provider id #{provider_id} for team #{name}.")
+ return FastlaneCore::ItunesTransporter.new(options[:username], nil, false, provider_id)
+ rescue => ex
+ UI.verbose("Couldn't infer a provider short name for team with id #{Spaceship::Tunes.client.team_id} automatically: #{ex}. Proceeding without provider short name.")
+ return generic_transporter
+ end
end
def distribute_build(uploaded_build, options)
UI.message("Distributing new build to testers: #{uploaded_build.train_version} - #{uploaded_build.build_version}")