Class: FastlaneCore::ShellScriptTransporterExecutor
- Inherits:
-
TransporterExecutor
- Object
- TransporterExecutor
- FastlaneCore::ShellScriptTransporterExecutor
- Defined in:
- fastlane_core/lib/fastlane_core/itunes_transporter.rb
Overview
Generates commands and executes the iTMSTransporter through the shell script it provides by the same name
Constant Summary
Constants inherited from TransporterExecutor
TransporterExecutor::ITMS_PROVIDER_REGEX
Instance Method Summary collapse
- #build_download_command(username, password, apple_id, destination = "/tmp", provider_short_name = "", jwt = nil) ⇒ Object
- #build_provider_ids_command(username, password, jwt = nil, api_key = nil) ⇒ Object
- #build_upload_command(username, password, source = "/tmp", provider_short_name = "", jwt = nil, platform = nil, api_key = nil) ⇒ Object
- #build_verify_command(username, password, source = "/tmp", provider_short_name = "", jwt = nil) ⇒ Object
- #handle_error(password) ⇒ Object
Methods inherited from TransporterExecutor
#displayable_errors, #execute, #parse_provider_info
Instance Method Details
#build_download_command(username, password, apple_id, destination = "/tmp", provider_short_name = "", jwt = nil) ⇒ Object
387 388 389 390 391 392 393 394 395 396 397 398 399 |
# File 'fastlane_core/lib/fastlane_core/itunes_transporter.rb', line 387 def build_download_command(username, password, apple_id, destination = "/tmp", provider_short_name = "", jwt = nil) use_jwt = !jwt.to_s.empty? [ '"' + Helper.transporter_path + '"', "-m lookupMetadata", ("-u #{username.shellescape}" unless use_jwt), ("-p #{shell_escaped_password(password)}" unless use_jwt), ("-jwt #{jwt}" if use_jwt), "-apple_id #{apple_id}", "-destination '#{destination}'", ("-itc_provider #{provider_short_name}" if jwt.nil? && !provider_short_name.to_s.empty?) ].compact.join(' ') end |
#build_provider_ids_command(username, password, jwt = nil, api_key = nil) ⇒ Object
401 402 403 404 405 406 407 408 409 410 |
# File 'fastlane_core/lib/fastlane_core/itunes_transporter.rb', line 401 def build_provider_ids_command(username, password, jwt = nil, api_key = nil) use_jwt = !jwt.to_s.empty? [ '"' + Helper.transporter_path + '"', '-m provider', ("-u \"#{username.shellescape}\"" unless use_jwt), ("-p #{shell_escaped_password(password)}" unless use_jwt), ("-jwt #{jwt}" if use_jwt) ].compact.join(' ') end |
#build_upload_command(username, password, source = "/tmp", provider_short_name = "", jwt = nil, platform = nil, api_key = nil) ⇒ Object
371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 |
# File 'fastlane_core/lib/fastlane_core/itunes_transporter.rb', line 371 def build_upload_command(username, password, source = "/tmp", provider_short_name = "", jwt = nil, platform = nil, api_key = nil) use_jwt = !jwt.to_s.empty? [ '"' + Helper.transporter_path + '"', "-m upload", ("-u #{username.shellescape}" unless use_jwt), ("-p #{shell_escaped_password(password)}" unless use_jwt), ("-jwt #{jwt}" if use_jwt), file_upload_option(source), additional_upload_parameters, # that's here, because the user might overwrite the -t option "-k 100000", ("-WONoPause true" if Helper.windows?), # Windows only: process instantly returns instead of waiting for key press ("-itc_provider #{provider_short_name}" if jwt.nil? && !provider_short_name.to_s.empty?) ].compact.join(' ') end |
#build_verify_command(username, password, source = "/tmp", provider_short_name = "", jwt = nil) ⇒ Object
412 413 414 415 416 417 418 419 420 421 422 423 424 |
# File 'fastlane_core/lib/fastlane_core/itunes_transporter.rb', line 412 def build_verify_command(username, password, source = "/tmp", provider_short_name = "", jwt = nil) use_jwt = !jwt.to_s.empty? [ '"' + Helper.transporter_path + '"', '-m verify', ("-u #{username.shellescape}" unless use_jwt), ("-p #{shell_escaped_password(password)}" unless use_jwt), ("-jwt #{jwt}" if use_jwt), "-f #{source.shellescape}", ("-WONoPause true" if Helper.windows?), # Windows only: process instantly returns instead of waiting for key press ("-itc_provider #{provider_short_name}" if jwt.nil? && !provider_short_name.to_s.empty?) ].compact.join(' ') end |
#handle_error(password) ⇒ Object
426 427 428 429 430 431 432 433 434 435 436 437 438 439 |
# File 'fastlane_core/lib/fastlane_core/itunes_transporter.rb', line 426 def handle_error(password) # rubocop:disable Style/CaseEquality # rubocop:disable Style/YodaCondition unless /^[0-9a-zA-Z\.\$\_\-]*$/ === password UI.error([ "Password contains special characters, which may not be handled properly by iTMSTransporter.", "If you experience problems uploading to App Store Connect, please consider changing your password to something with only alphanumeric characters." ].join(' ')) end # rubocop:enable Style/CaseEquality # rubocop:enable Style/YodaCondition UI.error("Could not download/upload from App Store Connect! It's probably related to your password or your internet connection.") end |