b0VIM 8.1¦Ôu_Z2iåfjoshJoshs-Mac-mini.local~josh/Projects/fastlane/fastlane/fastlane/lib/fastlane/actions/download_dsyms.rbutf-8 U3210#"! UtpRÿÿÿÿÿÿÿÿWSþÿÿÿÿÿÿÿVªýÿÿÿÿÿÿÿ2üÿÿÿÿÿÿÿ@2adgRðßǨkc<íÓ·†…Õ 2 ø ± ž    ô Ñ } T  Ú ­ X ä ã ž w X ÔPOÊÉRQ$öÖ¢VUÈÇ[+÷ëꥒUIH ̪ž~iØ¡{zY!šg builds = build_resps.flat_map(&:to_models) build_resps = Spaceship::ConnectAPI.get_builds(filter: filter, sort: "-uploadedDate", includes: "preReleaseVersion").all_pages filter["preReleaseVersion.platform"] = platform filter = { app: app.id } UI.message(message.join(" ")) message << "(#{build_number})" if build_number message << "v#{version}" if version message << "Looking for dSYM files for '#{params[:app_identifier]}' on platform #{platform}" message = [] # Write a nice message end output_directory += '/' if output_directory && !output_directory.end_with?('/') # Make sure output_directory has a slash on the end end version = version.split(".").map(&:to_i).join(".") if version # Remove leading zeros from version string (eg. 1.02 -> 1.2) end build_number = live_version.build.version version = live_version.version_string # No need to search for candidates, because released App Store version should only have one build UI.user_error!("Could not find live version for your app, please try setting 'latest' or a specific version") if live_version.nil? live_version = app.get_live_app_store_version(platform: platform) UI.message("Looking for live version...") elsif version == 'live' build_number = latest_build.version version = latest_build.app_version latest_build = get_latest_build!(app_id: app.id, version: latest_version.version_string, platform: platform) UI.user_error!("Could not find latest version for your app, please try setting a specific version") if latest_version.nil? latest_version = app.get_edit_app_store_version(platform: platform) || app.get_live_app_store_version(platform: platform) UI.message("Looking for latest version...") # Try to grab the edit version first, else fallback to live version if version == 'latest' # Set version if it is latest platform = Spaceship::ConnectAPI::Platform.map(itc_platform) after_uploaded_date = DateTime.parse(params[:after_uploaded_date]) unless params[:after_uploaded_date].nil? min_version = Gem::Version.new(params[:min_version]) if params[:min_version] wait_timeout = params[:wait_timeout] wait_for_dsym_processing = params[:wait_for_dsym_processing] output_directory = params[:output_directory] itc_platform = params[:platform] build_number = params[:build_number].to_s unless params[:build_number].nil? version = params[:version] # Process options end UI.user_error!("Could not find app with bundle identifier '#{params[:app_identifier]}' on account #{params[:username]}") unless app app = Spaceship::ConnectAPI::App.find(params[:app_identifier]) # Get App UI.message("Login successful") Spaceship::ConnectAPI.login(params[:username], use_portal: false, use_tunes: true) UI.message("Login to App Store Connect (#{params[:username]})") # Prompts select team if multiple teams and none specified # Team selection passed though FASTLANE_ITC_TEAM_ID and FASTLANE_ITC_TEAM_NAME environment variables require 'date' equire 'net/http' require 'spaceship' require 'openssl' def self.run(params) # rubocop:disable Metrics/PerceivedComplexity class DownloadDsymsAction < Action end DSYM_LATEST_UPLOADED_DATE = :DSYM_LATEST_UPLOADED_DATE DSYM_PATHS = :DSYM_PATHS module SharedValues module Actionsmodule Fastlaneadc@¾ƒ,¼…L Ò ~  Ð ‰ N ò ¡ j - ö » € 0 Ê “ X "   ÷íª3)öìëÔ¿µ´_UT8.Ïb0ãÙÏζ›‘‰ƒ~end end end end :app_store_connect def self.category end ] 'download_dsyms(after_uploaded_date: "2020-09-11T19:00:00+01:00")' 'download_dsyms(min_version: "1.2.3")', 'download_dsyms(version: "live")', 'download_dsyms(version: "1.0.1", build_number: 42)', 'download_dsyms(version: "1.0.0", build_number: "345")', 'download_dsyms', [ def self.example_code end [:ios, :appletvos].include?(platform) def self.is_supported?(platform) end ["KrauseFx"] def self.authors end nil def self.return_value end ] ['DSYM_LATEST_UPLOADED_DATE', 'Date of the most recent uploaded time of successfully downloaded dSYM files'] ['DSYM_PATHS', 'An array to all the zipped dSYM files'], [ def self.output end ] type: Integer) default_value: 300, optional: true, description: "Number of seconds to wait for dSYMs to process", env_name: "DOWNLOAD_DSYMS_WAIT_TIMEOUT", short_option: "-t", FastlaneCore::ConfigItem.new(key: :wait_timeout, type: Boolean), default_value: false, optional: true, description: "Wait for dSYMs to process", env_name: "DOWNLOAD_DSYMS_WAIT_FOR_DSYM_PROCESSING", short_option: "-w", FastlaneCore::ConfigItem.new(key: :wait_for_dsym_processing, optional: true), description: "Where to save the download dSYMs, defaults to the current path", env_name: "DOWNLOAD_DSYMS_OUTPUT_DIRECTORY", short_option: "-s", FastlaneCore::ConfigItem.new(key: :output_directory, is_string: true), optional: true, description: "The uploaded date after which you wish to download dSYMs", env_name: "DOWNLOAD_DSYMS_AFTER_UPLOADED_DATE", short_option: "-d", FastlaneCore::ConfigItem.new(key: :after_uploaded_date,