fastlane 2.173.0 → 2.194.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +105 -85
- data/cert/lib/cert/commands_generator.rb +2 -1
- data/cert/lib/cert/options.rb +4 -3
- data/cert/lib/cert/runner.rb +7 -7
- data/deliver/lib/assets/summary.html.erb +10 -10
- data/deliver/lib/deliver/app_screenshot.rb +8 -3
- data/deliver/lib/deliver/app_screenshot_iterator.rb +2 -2
- data/deliver/lib/deliver/commands_generator.rb +3 -2
- data/deliver/lib/deliver/detect_values.rb +5 -3
- data/deliver/lib/deliver/download_screenshots.rb +2 -3
- data/deliver/lib/deliver/html_generator.rb +2 -2
- data/deliver/lib/deliver/languages.rb +1 -1
- data/deliver/lib/deliver/loader.rb +1 -1
- data/deliver/lib/deliver/module.rb +6 -0
- data/deliver/lib/deliver/options.rb +48 -56
- data/deliver/lib/deliver/runner.rb +28 -15
- data/deliver/lib/deliver/screenshot_comparable.rb +62 -0
- data/deliver/lib/deliver/setup.rb +1 -2
- data/deliver/lib/deliver/submit_for_review.rb +4 -4
- data/deliver/lib/deliver/sync_screenshots.rb +200 -0
- data/deliver/lib/deliver/upload_metadata.rb +26 -11
- data/deliver/lib/deliver/upload_price_tier.rb +1 -1
- data/deliver/lib/deliver/upload_screenshots.rb +13 -12
- data/fastlane/lib/assets/completions/completion.bash +4 -1
- data/fastlane/lib/assets/completions/completion.zsh +6 -5
- data/{spaceship/lib/spaceship/connect_api/models/.app_store_version_submission.rb.swp → fastlane/lib/fastlane/actions/.notarize.rb.swp} +0 -0
- data/fastlane/lib/fastlane/actions/actions_helper.rb +2 -2
- data/fastlane/lib/fastlane/actions/adb.rb +2 -5
- data/fastlane/lib/fastlane/actions/adb_devices.rb +0 -1
- data/fastlane/lib/fastlane/actions/add_git_tag.rb +4 -4
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +18 -18
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +21 -7
- data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
- data/fastlane/lib/fastlane/actions/appetize.rb +13 -8
- data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +0 -11
- data/fastlane/lib/fastlane/actions/appium.rb +40 -65
- data/fastlane/lib/fastlane/actions/appledoc.rb +45 -45
- data/fastlane/lib/fastlane/actions/apteligent.rb +3 -2
- data/fastlane/lib/fastlane/actions/artifactory.rb +5 -6
- data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +7 -13
- data/fastlane/lib/fastlane/actions/backup_file.rb +1 -1
- data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +3 -3
- data/fastlane/lib/fastlane/actions/badge.rb +9 -13
- data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +11 -5
- data/fastlane/lib/fastlane/actions/build_app.rb +4 -0
- data/fastlane/lib/fastlane/actions/bundle_install.rb +21 -11
- data/fastlane/lib/fastlane/actions/carthage.rb +22 -14
- data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +8 -17
- data/fastlane/lib/fastlane/actions/chatwork.rb +3 -2
- data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +9 -1
- data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +0 -1
- data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +25 -2
- data/fastlane/lib/fastlane/actions/clipboard.rb +3 -6
- data/fastlane/lib/fastlane/actions/cloc.rb +9 -13
- data/fastlane/lib/fastlane/actions/cocoapods.rb +23 -15
- data/fastlane/lib/fastlane/actions/commit_github_file.rb +12 -4
- data/fastlane/lib/fastlane/actions/commit_version_bump.rb +6 -7
- data/fastlane/lib/fastlane/actions/copy_artifacts.rb +3 -4
- data/fastlane/lib/fastlane/actions/crashlytics.rb +7 -11
- data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +70 -76
- data/fastlane/lib/fastlane/actions/create_keychain.rb +13 -11
- data/fastlane/lib/fastlane/actions/create_pull_request.rb +0 -9
- data/fastlane/lib/fastlane/actions/create_xcframework.rb +102 -17
- data/fastlane/lib/fastlane/actions/danger.rb +13 -12
- data/fastlane/lib/fastlane/actions/deploygate.rb +1 -2
- data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +29 -30
- data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +3 -3
- data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +19 -2
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -2
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +37 -18
- data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -1
- data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +10 -4
- data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +1 -1
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +8 -19
- data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
- data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +2 -6
- data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +0 -1
- data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -4
- data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +3 -5
- data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -2
- data/fastlane/lib/fastlane/actions/environment_variable.rb +13 -21
- data/fastlane/lib/fastlane/actions/erb.rb +2 -5
- data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_certificates.rb +5 -1
- data/fastlane/lib/fastlane/actions/get_github_release.rb +11 -1
- data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +0 -1
- data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +32 -35
- data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +10 -2
- data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_version_number.rb +17 -10
- data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
- data/fastlane/lib/fastlane/actions/git_branch.rb +4 -10
- data/fastlane/lib/fastlane/actions/git_commit.rb +6 -8
- data/fastlane/lib/fastlane/actions/git_pull.rb +4 -10
- data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
- data/fastlane/lib/fastlane/actions/git_submodule_update.rb +16 -8
- data/fastlane/lib/fastlane/actions/git_tag_exists.rb +4 -0
- data/fastlane/lib/fastlane/actions/github_api.rb +4 -6
- data/fastlane/lib/fastlane/actions/gradle.rb +13 -21
- data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
- data/fastlane/lib/fastlane/actions/hg_push.rb +1 -1
- data/fastlane/lib/fastlane/actions/hipchat.rb +6 -6
- data/fastlane/lib/fastlane/actions/hockey.rb +5 -12
- data/fastlane/lib/fastlane/actions/ifttt.rb +3 -6
- data/fastlane/lib/fastlane/actions/import_from_git.rb +7 -9
- data/fastlane/lib/fastlane/actions/increment_build_number.rb +8 -2
- data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
- data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +4 -0
- data/fastlane/lib/fastlane/actions/installr.rb +22 -25
- data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
- data/fastlane/lib/fastlane/actions/jazzy.rb +11 -8
- data/fastlane/lib/fastlane/actions/jira.rb +61 -14
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +7 -7
- data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
- data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
- data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
- data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
- data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
- data/fastlane/lib/fastlane/actions/nexus_upload.rb +2 -2
- data/fastlane/lib/fastlane/actions/notarize.rb +181 -52
- data/fastlane/lib/fastlane/actions/notification.rb +1 -1
- data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
- data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
- data/fastlane/lib/fastlane/actions/pod_push.rb +0 -2
- data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
- data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
- data/fastlane/lib/fastlane/actions/push_git_tags.rb +2 -2
- data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +6 -3
- data/fastlane/lib/fastlane/actions/puts.rb +1 -2
- data/fastlane/lib/fastlane/actions/register_device.rb +10 -13
- data/fastlane/lib/fastlane/actions/register_devices.rb +10 -14
- data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
- data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
- data/fastlane/lib/fastlane/actions/resign.rb +2 -9
- data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
- data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
- data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
- data/fastlane/lib/fastlane/actions/s3.rb +1 -1
- data/fastlane/lib/fastlane/actions/say.rb +2 -3
- data/fastlane/lib/fastlane/actions/scp.rb +4 -10
- data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_changelog.rb +11 -14
- data/fastlane/lib/fastlane/actions/set_github_release.rb +2 -8
- data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
- data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
- data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
- data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
- data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
- data/fastlane/lib/fastlane/actions/sh.rb +2 -4
- data/fastlane/lib/fastlane/actions/slack.rb +161 -141
- data/fastlane/lib/fastlane/actions/slather.rb +9 -19
- data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
- data/fastlane/lib/fastlane/actions/sourcedocs.rb +128 -0
- data/fastlane/lib/fastlane/actions/spaceship_logs.rb +1 -1
- data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
- data/fastlane/lib/fastlane/actions/spm.rb +3 -3
- data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
- data/fastlane/lib/fastlane/actions/swiftlint.rb +18 -16
- data/fastlane/lib/fastlane/actions/sync_code_signing.rb +7 -2
- data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
- data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
- data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
- data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
- data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
- data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
- data/fastlane/lib/fastlane/actions/update_fastlane.rb +2 -2
- data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
- data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
- data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +3 -4
- data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
- data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
- data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +1 -2
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +8 -7
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
- data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +5 -1
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +10 -3
- data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
- data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
- data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
- data/fastlane/lib/fastlane/actions/xcodebuild.rb +5 -5
- data/fastlane/lib/fastlane/actions/zip.rb +86 -21
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -1
- data/fastlane/lib/fastlane/commands_generator.rb +2 -1
- data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
- data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
- data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +12 -6
- data/fastlane/lib/fastlane/environment_printer.rb +1 -0
- data/fastlane/lib/fastlane/erb_template_helper.rb +7 -1
- data/fastlane/lib/fastlane/fast_file.rb +19 -7
- data/fastlane/lib/fastlane/fastlane_require.rb +7 -1
- data/fastlane/lib/fastlane/features.rb +3 -0
- data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
- data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +4 -4
- data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
- data/fastlane/lib/fastlane/helper/git_helper.rb +34 -5
- data/fastlane/lib/fastlane/lane_manager.rb +3 -2
- data/fastlane/lib/fastlane/notification/slack.rb +56 -0
- data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +1 -2
- data/fastlane/lib/fastlane/plugins/plugin_info.rb +2 -2
- data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +1 -2
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +2 -3
- data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +7 -6
- data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
- data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +30 -35
- data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +1 -1
- data/fastlane/lib/fastlane/setup/setup.rb +23 -10
- data/fastlane/lib/fastlane/setup/setup_ios.rb +3 -3
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +43 -15
- data/fastlane/lib/fastlane/swift_runner_upgrader.rb +2 -0
- data/fastlane/lib/fastlane/version.rb +2 -2
- data/fastlane/swift/Actions.swift +1 -1
- data/fastlane/swift/Appfile.swift +1 -1
- data/fastlane/swift/ArgumentProcessor.swift +1 -1
- data/fastlane/swift/ControlCommand.swift +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +27 -23
- data/fastlane/swift/Fastlane.swift +7993 -4352
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +4 -0
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/LaneFileProtocol.swift +10 -4
- data/fastlane/swift/MainProcess.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +3 -3
- data/fastlane/swift/OptionalConfigValue.swift +101 -0
- data/fastlane/swift/Plugins.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +4 -4
- data/fastlane/swift/RubyCommand.swift +2 -2
- data/fastlane/swift/RubyCommandable.swift +1 -1
- data/fastlane/swift/Runner.swift +2 -2
- data/fastlane/swift/RunnerArgument.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +17 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +4 -4
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +5 -1
- data/fastlane/swift/SocketClient.swift +3 -2
- data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
- data/fastlane/swift/SocketResponse.swift +5 -3
- data/fastlane/swift/formatting/Brewfile.lock.json +37 -21
- data/fastlane/swift/main.swift +1 -1
- data/fastlane/swift/upgrade_manifest.json +1 -1
- data/fastlane_core/lib/fastlane_core/build_watcher.rb +113 -17
- data/fastlane_core/lib/fastlane_core/clipboard.rb +20 -0
- data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -9
- data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +6 -1
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +41 -3
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +14 -8
- data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
- data/fastlane_core/lib/fastlane_core/helper.rb +66 -10
- data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +14 -8
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +12 -5
- data/fastlane_core/lib/fastlane_core/languages.rb +2 -2
- data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +5 -0
- data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +3 -2
- data/fastlane_core/lib/fastlane_core/print_table.rb +5 -3
- data/fastlane_core/lib/fastlane_core/project.rb +30 -23
- data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +4 -4
- data/fastlane_core/lib/fastlane_core/swag.rb +1 -1
- data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +1 -0
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +41 -0
- data/fastlane_core/lib/fastlane_core/ui/help.erb +35 -0
- data/fastlane_core/lib/fastlane_core/ui/help_formatter.rb +16 -0
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +16 -2
- data/fastlane_core/lib/fastlane_core/ui/interface.rb +1 -1
- data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
- data/fastlane_core/lib/fastlane_core.rb +22 -20
- data/frameit/lib/frameit/commands_generator.rb +2 -1
- data/frameit/lib/frameit/config_parser.rb +2 -2
- data/frameit/lib/frameit/frame_downloader.rb +2 -1
- data/gym/lib/gym/code_signing_mapping.rb +2 -2
- data/gym/lib/gym/commands_generator.rb +2 -1
- data/gym/lib/gym/generators/package_command_generator.rb +4 -0
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +19 -13
- data/gym/lib/gym/runner.rb +15 -4
- data/match/lib/match/change_password.rb +3 -3
- data/match/lib/match/commands_generator.rb +2 -1
- data/match/lib/match/encryption/interface.rb +1 -1
- data/match/lib/match/encryption/openssl.rb +2 -2
- data/match/lib/match/importer.rb +9 -10
- data/match/lib/match/migrate.rb +2 -3
- data/match/lib/match/module.rb +1 -0
- data/match/lib/match/nuke.rb +10 -10
- data/match/lib/match/options.rb +5 -4
- data/match/lib/match/runner.rb +12 -12
- data/match/lib/match/spaceship_ensure.rb +3 -0
- data/match/lib/match/storage/google_cloud_storage.rb +2 -2
- data/match/lib/match/storage/s3_storage.rb +2 -2
- data/pem/lib/pem/commands_generator.rb +2 -1
- data/pilot/lib/pilot/build_manager.rb +45 -15
- data/pilot/lib/pilot/commands_generator.rb +2 -1
- data/pilot/lib/pilot/manager.rb +14 -9
- data/pilot/lib/pilot/options.rb +39 -11
- data/pilot/lib/pilot/tester_exporter.rb +0 -1
- data/pilot/lib/pilot/tester_manager.rb +0 -1
- data/pilot/lib/pilot.rb +0 -1
- data/precheck/lib/precheck/commands_generator.rb +2 -1
- data/precheck/lib/precheck/module.rb +2 -0
- data/precheck/lib/precheck/options.rb +7 -6
- data/precheck/lib/precheck/runner.rb +13 -8
- data/produce/lib/produce/commands_generator.rb +129 -28
- data/produce/lib/produce/developer_center.rb +42 -4
- data/produce/lib/produce/options.rb +1 -1
- data/produce/lib/produce/service.rb +285 -179
- data/scan/lib/scan/commands_generator.rb +2 -1
- data/scan/lib/scan/detect_values.rb +26 -14
- data/scan/lib/scan/module.rb +1 -0
- data/scan/lib/scan/options.rb +32 -6
- data/scan/lib/scan/runner.rb +81 -1
- data/scan/lib/scan/test_command_generator.rb +37 -12
- data/scan/lib/scan/xcpretty_reporter_options_generator.rb +1 -1
- data/screengrab/lib/screengrab/android_environment.rb +5 -53
- data/screengrab/lib/screengrab/commands_generator.rb +2 -1
- data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
- data/screengrab/lib/screengrab/options.rb +5 -2
- data/screengrab/lib/screengrab/runner.rb +110 -109
- data/sigh/lib/assets/resign.sh +81 -61
- data/sigh/lib/sigh/commands_generator.rb +2 -1
- data/sigh/lib/sigh/download_all.rb +4 -8
- data/sigh/lib/sigh/options.rb +6 -4
- data/sigh/lib/sigh/runner.rb +8 -8
- data/snapshot/lib/assets/SnapfileTemplate +3 -2
- data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
- data/snapshot/lib/assets/SnapshotHelper.swift +14 -10
- data/snapshot/lib/snapshot/commands_generator.rb +3 -1
- data/snapshot/lib/snapshot/options.rb +5 -0
- data/snapshot/lib/snapshot/reports_generator.rb +7 -1
- data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +12 -6
- data/snapshot/lib/snapshot/test_command_generator.rb +17 -3
- data/spaceship/README.md +4 -14
- data/spaceship/lib/spaceship/base.rb +2 -2
- data/spaceship/lib/spaceship/client.rb +37 -20
- data/spaceship/lib/spaceship/commands_generator.rb +4 -2
- data/spaceship/lib/spaceship/connect_api/api_client.rb +80 -8
- data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +36 -4
- data/spaceship/lib/spaceship/connect_api/models/app.rb +10 -2
- data/spaceship/lib/spaceship/connect_api/models/app_info.rb +10 -0
- data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +2 -3
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +8 -1
- data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +3 -1
- data/spaceship/lib/spaceship/connect_api/models/build.rb +14 -1
- data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +8 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +32 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +84 -21
- data/spaceship/lib/spaceship/connect_api/models/capabilities.rb +27 -0
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/user.rb +17 -3
- data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +37 -3
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +104 -2
- data/spaceship/lib/spaceship/connect_api/testflight/client.rb +3 -0
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +72 -5
- data/spaceship/lib/spaceship/connect_api/token.rb +19 -4
- data/spaceship/lib/spaceship/connect_api/tunes/client.rb +3 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +19 -2
- data/spaceship/lib/spaceship/connect_api/users/client.rb +3 -0
- data/spaceship/lib/spaceship/connect_api/users/users.rb +58 -3
- data/spaceship/lib/spaceship/connect_api.rb +1 -0
- data/spaceship/lib/spaceship/playground.rb +2 -2
- data/spaceship/lib/spaceship/spaceauth_runner.rb +38 -15
- data/spaceship/lib/spaceship/tunes/members.rb +1 -1
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +5 -2
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +42 -29
- data/spaceship/lib/spaceship/ui.rb +2 -2
- data/supply/lib/supply/client.rb +45 -4
- data/supply/lib/supply/commands_generator.rb +2 -1
- data/supply/lib/supply/options.rb +14 -2
- data/supply/lib/supply/uploader.rb +13 -9
- metadata +119 -98
- data/fastlane/lib/fastlane/.erb_template_helper.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/.git_commit.rb.swp +0 -0
- data/pilot/lib/pilot/features.rb +0 -0
- data/pilot/lib/pilot/tester_util.rb +0 -0
- data/spaceship/lib/spaceship/.DS_Store +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 89364e66ffaf19316585dfb22f851fbaea4f5c592942a06b90ac4e1301b6eac1
|
|
4
|
+
data.tar.gz: a968f9c694a148943ff821d8ece6dc7874558638f1b3ae80637bbcc12483e0fa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0200da5a0b1fc50d082ad63f87b62a80047041014c31a0f786dd5bb713c4e257c3e1d4e1be5e5a6bbf250db09a1ecd19cbbde83b1329a0179a06c584d03eab1e
|
|
7
|
+
data.tar.gz: '0692862a0ad1e6ae72c8c8e7e59473fc2d2871d252f891e22bb0353844dee71b47b44d2ef9c9541500c5e3458c1ce05cceb9ee89af7d3a672d752daf72c39108'
|
data/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2015-
|
|
3
|
+
Copyright (c) 2015-2021 The Fastlane Authors
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
[](https://twitter.com/FastlaneTools)
|
|
8
8
|
[](https://github.com/fastlane/fastlane/blob/master/LICENSE)
|
|
9
9
|
[](https://rubygems.org/gems/fastlane)
|
|
10
|
+
[](https://formulae.brew.sh/formula/fastlane)
|
|
10
11
|
[](https://circleci.com/gh/fastlane/fastlane)
|
|
11
12
|
[](https://github.com/fastlane/fastlane/blob/master/CONTRIBUTING.md)
|
|
12
13
|
|
|
@@ -34,146 +35,165 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
34
35
|
<!-- This table is regenerated and resorted on each release -->
|
|
35
36
|
<table id='team'>
|
|
36
37
|
<tr>
|
|
38
|
+
<td id='manu-wallner'>
|
|
39
|
+
<a href='https://github.com/milch'>
|
|
40
|
+
<img src='https://github.com/milch.png' width='140px;'>
|
|
41
|
+
</a>
|
|
42
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
43
|
+
</td>
|
|
44
|
+
<td id='max-ott'>
|
|
45
|
+
<a href='https://github.com/max-ott'>
|
|
46
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
47
|
+
</a>
|
|
48
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
49
|
+
</td>
|
|
37
50
|
<td id='daniel-jankowski'>
|
|
38
51
|
<a href='https://github.com/mollyIV'>
|
|
39
|
-
<img src='https://github.com/mollyIV.png
|
|
52
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
40
53
|
</a>
|
|
41
54
|
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
42
55
|
</td>
|
|
43
|
-
<td id='
|
|
44
|
-
<a href='https://github.com/
|
|
45
|
-
<img src='https://github.com/
|
|
56
|
+
<td id='josh-holtz'>
|
|
57
|
+
<a href='https://github.com/joshdholtz'>
|
|
58
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
46
59
|
</a>
|
|
47
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
48
61
|
</td>
|
|
49
|
-
<td id='
|
|
50
|
-
<a href='https://github.com/
|
|
51
|
-
<img src='https://github.com/
|
|
62
|
+
<td id='jimmy-dee'>
|
|
63
|
+
<a href='https://github.com/jdee'>
|
|
64
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
|
52
65
|
</a>
|
|
53
|
-
<h4 align='center'
|
|
66
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
54
67
|
</td>
|
|
55
|
-
|
|
56
|
-
<
|
|
57
|
-
<
|
|
68
|
+
</tr>
|
|
69
|
+
<tr>
|
|
70
|
+
<td id='olivier-halligon'>
|
|
71
|
+
<a href='https://github.com/AliSoftware'>
|
|
72
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
58
73
|
</a>
|
|
59
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
74
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
75
|
+
</td>
|
|
76
|
+
<td id='andrew-mcburney'>
|
|
77
|
+
<a href='https://github.com/armcburney'>
|
|
78
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
79
|
+
</a>
|
|
80
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
81
|
+
</td>
|
|
82
|
+
<td id='maksym-grebenets'>
|
|
83
|
+
<a href='https://github.com/mgrebenets'>
|
|
84
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
85
|
+
</a>
|
|
86
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
87
|
+
</td>
|
|
88
|
+
<td id='stefan-natchev'>
|
|
89
|
+
<a href='https://github.com/snatchev'>
|
|
90
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
91
|
+
</a>
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
60
93
|
</td>
|
|
61
94
|
<td id='felix-krause'>
|
|
62
95
|
<a href='https://github.com/KrauseFx'>
|
|
63
|
-
<img src='https://github.com/KrauseFx.png
|
|
96
|
+
<img src='https://github.com/KrauseFx.png' width='140px;'>
|
|
64
97
|
</a>
|
|
65
98
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
66
99
|
</td>
|
|
67
100
|
</tr>
|
|
68
101
|
<tr>
|
|
69
|
-
<td id='
|
|
70
|
-
<a href='https://github.com/
|
|
71
|
-
<img src='https://github.com/
|
|
102
|
+
<td id='helmut-januschka'>
|
|
103
|
+
<a href='https://github.com/hjanuschka'>
|
|
104
|
+
<img src='https://github.com/hjanuschka.png' width='140px;'>
|
|
72
105
|
</a>
|
|
73
|
-
<h4 align='center'>
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
74
107
|
</td>
|
|
75
|
-
<td id='
|
|
76
|
-
<a href='https://github.com/
|
|
77
|
-
<img src='https://github.com/
|
|
108
|
+
<td id='iulian-onofrei'>
|
|
109
|
+
<a href='https://github.com/revolter'>
|
|
110
|
+
<img src='https://github.com/revolter.png' width='140px;'>
|
|
78
111
|
</a>
|
|
79
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
112
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
113
|
+
</td>
|
|
114
|
+
<td id='jan-piotrowski'>
|
|
115
|
+
<a href='https://github.com/janpio'>
|
|
116
|
+
<img src='https://github.com/janpio.png' width='140px;'>
|
|
117
|
+
</a>
|
|
118
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
80
119
|
</td>
|
|
81
120
|
<td id='joshua-liebowitz'>
|
|
82
121
|
<a href='https://github.com/taquitos'>
|
|
83
|
-
<img src='https://github.com/taquitos.png
|
|
122
|
+
<img src='https://github.com/taquitos.png' width='140px;'>
|
|
84
123
|
</a>
|
|
85
124
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
86
125
|
</td>
|
|
87
|
-
<td id='fumiya-nakamura'>
|
|
88
|
-
<a href='https://github.com/nafu'>
|
|
89
|
-
<img src='https://github.com/nafu.png?size=140'>
|
|
90
|
-
</a>
|
|
91
|
-
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
92
|
-
</td>
|
|
93
126
|
<td id='matthew-ellis'>
|
|
94
127
|
<a href='https://github.com/matthewellis'>
|
|
95
|
-
<img src='https://github.com/matthewellis.png
|
|
128
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
96
129
|
</a>
|
|
97
130
|
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
98
131
|
</td>
|
|
99
132
|
</tr>
|
|
100
133
|
<tr>
|
|
101
|
-
<td id='
|
|
102
|
-
<a href='https://github.com/
|
|
103
|
-
<img src='https://github.com/
|
|
134
|
+
<td id='fumiya-nakamura'>
|
|
135
|
+
<a href='https://github.com/nafu'>
|
|
136
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
|
104
137
|
</a>
|
|
105
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
138
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
106
139
|
</td>
|
|
107
|
-
<td id='
|
|
108
|
-
<a href='https://github.com/
|
|
109
|
-
<img src='https://github.com/
|
|
140
|
+
<td id='danielle-tomlinson'>
|
|
141
|
+
<a href='https://github.com/endocrimes'>
|
|
142
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
110
143
|
</a>
|
|
111
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
144
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
112
145
|
</td>
|
|
113
|
-
<td id='
|
|
114
|
-
<a href='https://github.com/
|
|
115
|
-
<img src='https://github.com/
|
|
146
|
+
<td id='kohki-miki'>
|
|
147
|
+
<a href='https://github.com/giginet'>
|
|
148
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
|
116
149
|
</a>
|
|
117
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
150
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
118
151
|
</td>
|
|
119
|
-
<td id='
|
|
120
|
-
<a href='https://github.com/
|
|
121
|
-
<img src='https://github.com/
|
|
152
|
+
<td id='manish-rathi'>
|
|
153
|
+
<a href='https://github.com/crazymanish'>
|
|
154
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
122
155
|
</a>
|
|
123
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
156
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
|
124
157
|
</td>
|
|
125
|
-
<td id='
|
|
126
|
-
<a href='https://github.com/
|
|
127
|
-
<img src='https://github.com/
|
|
158
|
+
<td id='jorge-revuelta-h'>
|
|
159
|
+
<a href='https://github.com/minuscorp'>
|
|
160
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
128
161
|
</a>
|
|
129
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
130
163
|
</td>
|
|
131
164
|
</tr>
|
|
132
165
|
<tr>
|
|
133
|
-
<td id='
|
|
134
|
-
<a href='https://github.com/
|
|
135
|
-
<img src='https://github.com/
|
|
166
|
+
<td id='roger-oba'>
|
|
167
|
+
<a href='https://github.com/rogerluan'>
|
|
168
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
136
169
|
</a>
|
|
137
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
138
|
-
</td>
|
|
139
|
-
<td id='manu-wallner'>
|
|
140
|
-
<a href='https://github.com/milch'>
|
|
141
|
-
<img src='https://github.com/milch.png?size=140'>
|
|
142
|
-
</a>
|
|
143
|
-
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
144
|
-
</td>
|
|
145
|
-
<td id='josh-holtz'>
|
|
146
|
-
<a href='https://github.com/joshdholtz'>
|
|
147
|
-
<img src='https://github.com/joshdholtz.png?size=140'>
|
|
148
|
-
</a>
|
|
149
|
-
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
170
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
150
171
|
</td>
|
|
151
|
-
<td id='
|
|
152
|
-
<a href='https://github.com/
|
|
153
|
-
<img src='https://github.com/
|
|
172
|
+
<td id='satoshi-namai'>
|
|
173
|
+
<a href='https://github.com/ainame'>
|
|
174
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
|
154
175
|
</a>
|
|
155
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
176
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
156
177
|
</td>
|
|
157
178
|
<td id='jérôme-lacoste'>
|
|
158
179
|
<a href='https://github.com/lacostej'>
|
|
159
|
-
<img src='https://github.com/lacostej.png
|
|
180
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
160
181
|
</a>
|
|
161
182
|
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
162
183
|
</td>
|
|
163
|
-
|
|
164
|
-
<
|
|
165
|
-
<
|
|
166
|
-
<a href='https://github.com/snatchev'>
|
|
167
|
-
<img src='https://github.com/snatchev.png?size=140'>
|
|
184
|
+
<td id='aaron-brager'>
|
|
185
|
+
<a href='https://github.com/getaaron'>
|
|
186
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
|
168
187
|
</a>
|
|
169
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
170
189
|
</td>
|
|
171
|
-
<td id='
|
|
172
|
-
<a href='https://github.com/
|
|
173
|
-
<img src='https://github.com/
|
|
190
|
+
<td id='luka-mirosevic'>
|
|
191
|
+
<a href='https://github.com/lmirosevic'>
|
|
192
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
174
193
|
</a>
|
|
175
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
194
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
176
195
|
</td>
|
|
196
|
+
</tr>
|
|
177
197
|
</table>
|
|
178
198
|
|
|
179
199
|
Special thanks to all [contributors](https://github.com/fastlane/fastlane/graphs/contributors) for extending and improving _fastlane_.
|
|
@@ -187,12 +207,12 @@ Check out [CONTRIBUTING.md](CONTRIBUTING.md) for more information on how to help
|
|
|
187
207
|
Help us keep _fastlane_ open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
|
|
188
208
|
|
|
189
209
|
## Metrics
|
|
190
|
-
|
|
191
|
-
_fastlane_ tracks a few key metrics to understand how developers are using the tool and to help us know what areas need improvement. No personal/sensitive information is ever collected. Metrics that are collected include:
|
|
192
|
-
|
|
210
|
+
|
|
211
|
+
_fastlane_ tracks a few key metrics to understand how developers are using the tool and to help us know what areas need improvement. No personal/sensitive information is ever collected. Metrics that are collected include:
|
|
212
|
+
|
|
193
213
|
* The number of _fastlane_ runs
|
|
194
214
|
* A salted hash of the app identifier or package name, which helps us anonymously identify unique usage of _fastlane_
|
|
195
|
-
|
|
215
|
+
|
|
196
216
|
You can easily opt-out of metrics collection by adding `opt_out_usage` at the top of your `Fastfile` or by setting the environment variable `FASTLANE_OPT_OUT_USAGE`. [Check out the metrics code on GitHub](https://github.com/fastlane/fastlane/tree/master/fastlane_core/lib/fastlane_core/analytics)
|
|
197
217
|
|
|
198
218
|
## License
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require 'commander'
|
|
2
2
|
require 'fastlane/version'
|
|
3
|
+
require 'fastlane_core/ui/help_formatter'
|
|
3
4
|
require 'fastlane_core/configuration/configuration'
|
|
4
5
|
require 'fastlane_core/globals'
|
|
5
6
|
|
|
@@ -23,7 +24,7 @@ module Cert
|
|
|
23
24
|
program :help, 'Author', 'Felix Krause <cert@krausefx.com>'
|
|
24
25
|
program :help, 'Website', 'https://fastlane.tools'
|
|
25
26
|
program :help, 'Documentation', 'https://docs.fastlane.tools/actions/cert/'
|
|
26
|
-
program :help_formatter,
|
|
27
|
+
program :help_formatter, FastlaneCore::HelpFormatter
|
|
27
28
|
|
|
28
29
|
global_option('--verbose') { FastlaneCore::Globals.verbose = true }
|
|
29
30
|
global_option('--env STRING[,STRING2]', String, 'Add environment(s) to use with `dotenv`')
|
data/cert/lib/cert/options.rb
CHANGED
|
@@ -38,7 +38,7 @@ module Cert
|
|
|
38
38
|
|
|
39
39
|
# App Store Connect API
|
|
40
40
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
|
41
|
-
|
|
41
|
+
env_names: ["CERT_API_KEY_PATH", "DELIVER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
|
|
42
42
|
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
|
43
43
|
optional: true,
|
|
44
44
|
conflicting_options: [:api_key],
|
|
@@ -46,8 +46,8 @@ module Cert
|
|
|
46
46
|
UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
|
|
47
47
|
end),
|
|
48
48
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
|
49
|
-
|
|
50
|
-
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#
|
|
49
|
+
env_names: ["CERT_API_KEY", "DELIVER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
|
|
50
|
+
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
|
|
51
51
|
type: Hash,
|
|
52
52
|
optional: true,
|
|
53
53
|
sensitive: true,
|
|
@@ -58,6 +58,7 @@ module Cert
|
|
|
58
58
|
short_option: "-u",
|
|
59
59
|
env_name: "CERT_USERNAME",
|
|
60
60
|
description: "Your Apple ID Username",
|
|
61
|
+
optional: true,
|
|
61
62
|
default_value: user,
|
|
62
63
|
default_value_dynamic: true),
|
|
63
64
|
FastlaneCore::ConfigItem.new(key: :team_id,
|
data/cert/lib/cert/runner.rb
CHANGED
|
@@ -20,22 +20,22 @@ module Cert
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def login
|
|
23
|
-
if api_token
|
|
23
|
+
if (api_token = Spaceship::ConnectAPI::Token.from(hash: Cert.config[:api_key], filepath: Cert.config[:api_key_path]))
|
|
24
24
|
UI.message("Creating authorization token for App Store Connect API")
|
|
25
25
|
Spaceship::ConnectAPI.token = api_token
|
|
26
|
+
elsif !Spaceship::ConnectAPI.token.nil?
|
|
27
|
+
UI.message("Using existing authorization token for App Store Connect API")
|
|
26
28
|
else
|
|
29
|
+
# Username is now optional since addition of App Store Connect API Key
|
|
30
|
+
# Force asking for username to prompt user if not already set
|
|
31
|
+
Cert.config.fetch(:username, force_ask: true)
|
|
32
|
+
|
|
27
33
|
UI.message("Starting login with user '#{Cert.config[:username]}'")
|
|
28
34
|
Spaceship::ConnectAPI.login(Cert.config[:username], nil, use_portal: true, use_tunes: false)
|
|
29
35
|
UI.message("Successfully logged in")
|
|
30
36
|
end
|
|
31
37
|
end
|
|
32
38
|
|
|
33
|
-
def api_token
|
|
34
|
-
@api_token ||= Spaceship::ConnectAPI::Token.create(Cert.config[:api_key]) if Cert.config[:api_key]
|
|
35
|
-
@api_token ||= Spaceship::ConnectAPI::Token.from_json_file(Cert.config[:api_key_path]) if Cert.config[:api_key_path]
|
|
36
|
-
return @api_token
|
|
37
|
-
end
|
|
38
|
-
|
|
39
39
|
def run
|
|
40
40
|
FileUtils.mkdir_p(Cert.config[:output_path])
|
|
41
41
|
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
|
|
92
92
|
.app-changelog-list {
|
|
93
93
|
list-style-type: square;
|
|
94
|
-
|
|
94
|
+
|
|
95
95
|
font-weight: 300;
|
|
96
96
|
}
|
|
97
97
|
|
|
@@ -137,10 +137,10 @@
|
|
|
137
137
|
}
|
|
138
138
|
</style>
|
|
139
139
|
</head>
|
|
140
|
-
|
|
140
|
+
|
|
141
141
|
<body>
|
|
142
142
|
<div class="app-icons">
|
|
143
|
-
|
|
143
|
+
|
|
144
144
|
<% if @options[:app_icon] %>
|
|
145
145
|
<div class="app-icon">
|
|
146
146
|
Large App Icon:<br>
|
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
<% end %>
|
|
183
183
|
<% end %>
|
|
184
184
|
</div>
|
|
185
|
-
|
|
185
|
+
|
|
186
186
|
<% if @options[:keywords] and @options[:keywords][language] %>
|
|
187
187
|
<div class="app-keyword">
|
|
188
188
|
<div class="cat-headline">Keywords</div>
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
</ul>
|
|
194
194
|
</div>
|
|
195
195
|
<% end %>
|
|
196
|
-
|
|
196
|
+
|
|
197
197
|
<% if @options[:description] %>
|
|
198
198
|
<div class="app-description">
|
|
199
199
|
<div class="cat-headline">Description</div>
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
</div>
|
|
203
203
|
</div>
|
|
204
204
|
<% end %>
|
|
205
|
-
|
|
205
|
+
|
|
206
206
|
<% if @options[:release_notes] %>
|
|
207
207
|
<div class="app-changelog">
|
|
208
208
|
<div class="cat-headline">Changelog</div>
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
<%= (@options[:promotional_text][language] || '').gsub("\n", "<br />") %>
|
|
217
217
|
</div>
|
|
218
218
|
<% end %>
|
|
219
|
-
|
|
219
|
+
|
|
220
220
|
<div class="app-screenshots">
|
|
221
221
|
<div class="cat-headline">Screenshots</div>
|
|
222
222
|
|
|
@@ -237,7 +237,7 @@
|
|
|
237
237
|
<div class="app-screenshot-row">
|
|
238
238
|
|
|
239
239
|
<% screenshots.each_with_index do |screenshot, index| %>
|
|
240
|
-
<a href="<%= URI.
|
|
240
|
+
<a href="<%= render_relative_path(@export_path, Addressable::URI.encode(screenshot.path)) %>" target="_blank"><img class="app-screenshot" src="<%= render_relative_path(@export_path, Addressable::URI.encode(screenshot.path)) %>" title="Screenshot #<%=index%> for <%=language%>"></a>
|
|
241
241
|
<% end %>
|
|
242
242
|
</div>
|
|
243
243
|
<% end %>
|
|
@@ -250,7 +250,7 @@
|
|
|
250
250
|
<% if options[:overwrite_screenshots] %>
|
|
251
251
|
<b>--overwrite_screenshots</b> is set, existing screenshots will be removed, but none will be uploaded.
|
|
252
252
|
<% else %>
|
|
253
|
-
The existing screenshots on App Store Connect will be kept.
|
|
253
|
+
The existing screenshots on App Store Connect will be kept.
|
|
254
254
|
if you want to remove them you have to use the <i>--overwrite_screenshots</i> flag.
|
|
255
255
|
<% end %>
|
|
256
256
|
<p>
|
|
@@ -259,7 +259,7 @@
|
|
|
259
259
|
</div>
|
|
260
260
|
<% end %>
|
|
261
261
|
</div>
|
|
262
|
-
|
|
262
|
+
|
|
263
263
|
<hr />
|
|
264
264
|
<% end # end data
|
|
265
265
|
%>
|
|
@@ -195,7 +195,9 @@ module Deliver
|
|
|
195
195
|
],
|
|
196
196
|
ScreenSize::IOS_58_MESSAGES => [
|
|
197
197
|
[1125, 2436],
|
|
198
|
-
[2436, 1125]
|
|
198
|
+
[2436, 1125],
|
|
199
|
+
[1170, 2532],
|
|
200
|
+
[2532, 1170]
|
|
199
201
|
],
|
|
200
202
|
ScreenSize::IOS_55_MESSAGES => [
|
|
201
203
|
[1242, 2208],
|
|
@@ -253,7 +255,9 @@ module Deliver
|
|
|
253
255
|
],
|
|
254
256
|
ScreenSize::IOS_58 => [
|
|
255
257
|
[1125, 2436],
|
|
256
|
-
[2436, 1125]
|
|
258
|
+
[2436, 1125],
|
|
259
|
+
[1170, 2532],
|
|
260
|
+
[2532, 1170]
|
|
257
261
|
],
|
|
258
262
|
ScreenSize::IOS_55 => [
|
|
259
263
|
[1242, 2208],
|
|
@@ -320,7 +324,8 @@ module Deliver
|
|
|
320
324
|
is_3rd_gen = [
|
|
321
325
|
"iPad Pro (12.9-inch) (3rd generation)", # default simulator name has this
|
|
322
326
|
"iPad Pro (12.9-inch) (4th generation)", # default simulator name has this
|
|
323
|
-
"ipadPro129" # downloaded screenshots name has this
|
|
327
|
+
"ipadPro129", # downloaded screenshots name has this,
|
|
328
|
+
"3GEN" # downloaded screenshots name from App Store Connect API has this
|
|
324
329
|
].any? { |key| filename.include?(key) }
|
|
325
330
|
if is_3rd_gen
|
|
326
331
|
if screen_size == ScreenSize::IOS_IPAD_PRO
|
|
@@ -85,8 +85,8 @@ module Deliver
|
|
|
85
85
|
app_screenshot_set ||= localization.create_app_screenshot_set(attributes: { screenshotDisplayType: display_type })
|
|
86
86
|
|
|
87
87
|
# iterate over screenshots per display size with index
|
|
88
|
-
screenshots.each do |screenshot|
|
|
89
|
-
yield(localization, app_screenshot_set, screenshot)
|
|
88
|
+
screenshots.each.with_index do |screenshot, index|
|
|
89
|
+
yield(localization, app_screenshot_set, screenshot, index)
|
|
90
90
|
end
|
|
91
91
|
end
|
|
92
92
|
end
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require 'commander'
|
|
2
2
|
require 'fastlane/version'
|
|
3
|
+
require 'fastlane_core/ui/help_formatter'
|
|
3
4
|
|
|
4
5
|
require_relative 'download_screenshots'
|
|
5
6
|
require_relative 'options'
|
|
@@ -48,7 +49,7 @@ module Deliver
|
|
|
48
49
|
program :help, 'Author', 'Felix Krause <deliver@krausefx.com>'
|
|
49
50
|
program :help, 'Website', 'https://fastlane.tools'
|
|
50
51
|
program :help, 'Documentation', 'https://docs.fastlane.tools/actions/deliver/'
|
|
51
|
-
program :help_formatter,
|
|
52
|
+
program :help_formatter, FastlaneCore::HelpFormatter
|
|
52
53
|
|
|
53
54
|
global_option('--verbose') { FastlaneCore::Globals.verbose = true }
|
|
54
55
|
global_option('--env STRING[,STRING2]', String, 'Add environment(s) to use with `dotenv`')
|
|
@@ -167,7 +168,7 @@ module Deliver
|
|
|
167
168
|
return 0 unless res
|
|
168
169
|
|
|
169
170
|
require 'deliver/setup'
|
|
170
|
-
app =
|
|
171
|
+
app = Deliver.cache[:app]
|
|
171
172
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
172
173
|
v = app.get_latest_app_store_version(platform: platform)
|
|
173
174
|
if options[:app_version].to_s.length > 0
|
|
@@ -10,6 +10,8 @@ require_relative 'languages'
|
|
|
10
10
|
module Deliver
|
|
11
11
|
class DetectValues
|
|
12
12
|
def run!(options, skip_params = {})
|
|
13
|
+
Deliver.cache = {}
|
|
14
|
+
|
|
13
15
|
find_platform(options)
|
|
14
16
|
find_app_identifier(options)
|
|
15
17
|
find_app(options)
|
|
@@ -46,9 +48,9 @@ module Deliver
|
|
|
46
48
|
app = Spaceship::ConnectAPI::App.get(app_id: app_id)
|
|
47
49
|
end
|
|
48
50
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
Deliver.cache[:app] = app
|
|
52
|
+
|
|
53
|
+
unless app
|
|
52
54
|
UI.user_error!("Could not find app with app identifier '#{options[:app_identifier]}' in your App Store Connect account (#{options[:username]} - Team: #{Spaceship::Tunes.client.team_id})")
|
|
53
55
|
end
|
|
54
56
|
end
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
require_relative 'module'
|
|
2
2
|
require 'spaceship'
|
|
3
|
-
require 'open-uri'
|
|
4
3
|
|
|
5
4
|
module Deliver
|
|
6
5
|
class DownloadScreenshots
|
|
@@ -14,7 +13,7 @@ module Deliver
|
|
|
14
13
|
end
|
|
15
14
|
|
|
16
15
|
def self.download(options, folder_path)
|
|
17
|
-
app =
|
|
16
|
+
app = Deliver.cache[:app]
|
|
18
17
|
|
|
19
18
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
20
19
|
if options[:use_live_version]
|
|
@@ -68,7 +67,7 @@ module Deliver
|
|
|
68
67
|
end
|
|
69
68
|
|
|
70
69
|
path = File.join(containing_folder, file_name)
|
|
71
|
-
File.binwrite(path,
|
|
70
|
+
File.binwrite(path, FastlaneCore::Helper.open_uri(url).read)
|
|
72
71
|
end
|
|
73
72
|
end
|
|
74
73
|
end
|
|
@@ -50,12 +50,12 @@ module Deliver
|
|
|
50
50
|
@export_path = export_path
|
|
51
51
|
|
|
52
52
|
@app_name = (options[:name]['en-US'] || options[:name].values.first) if options[:name]
|
|
53
|
-
@app_name ||=
|
|
53
|
+
@app_name ||= Deliver.cache[:app].name
|
|
54
54
|
|
|
55
55
|
@languages = options[:description].keys if options[:description]
|
|
56
56
|
@languages ||= begin
|
|
57
57
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
58
|
-
version =
|
|
58
|
+
version = Deliver.cache[:app].get_edit_app_store_version(platform: platform)
|
|
59
59
|
|
|
60
60
|
version.get_app_store_version_localizations.collect(&:locale)
|
|
61
61
|
end
|
|
@@ -2,6 +2,6 @@ module Deliver
|
|
|
2
2
|
module Languages
|
|
3
3
|
# 2020-08-24 - Available locales are not available as an endpoint in App Store Connect
|
|
4
4
|
# Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is avilable)
|
|
5
|
-
ALL_LANGUAGES = [
|
|
5
|
+
ALL_LANGUAGES = %w[ar-SA ca cs da de-DE el en-AU en-CA en-GB en-US es-ES es-MX fi fr-CA fr-FR he hi hr hu id it ja ko ms nl-NL no pl pt-BR pt-PT ro ru sk sv th tr uk vi zh-Hans zh-Hant]
|
|
6
6
|
end
|
|
7
7
|
end
|
|
@@ -82,7 +82,7 @@ module Deliver
|
|
|
82
82
|
#
|
|
83
83
|
# @param root [String] A directory path
|
|
84
84
|
# @param ignore_validation [String] Set false not to raise the error when finding invalid folder name
|
|
85
|
-
# @return [Array<AppScreenshot>] The list of AppScreenshot that exist under given `root` directory
|
|
85
|
+
# @return [Array<Deliver::AppScreenshot>] The list of AppScreenshot that exist under given `root` directory
|
|
86
86
|
def self.load_app_screenshots(root, ignore_validation)
|
|
87
87
|
screenshots = language_folders(root, ignore_validation, true).flat_map do |language_folder|
|
|
88
88
|
paths = if language_folder.framed_file_paths.count > 0
|
|
@@ -4,6 +4,12 @@ require 'fastlane/boolean'
|
|
|
4
4
|
|
|
5
5
|
module Deliver
|
|
6
6
|
class << self
|
|
7
|
+
attr_accessor :cache
|
|
8
|
+
|
|
9
|
+
def cache
|
|
10
|
+
@cache ||= {}
|
|
11
|
+
@cache
|
|
12
|
+
end
|
|
7
13
|
end
|
|
8
14
|
|
|
9
15
|
Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
|