fastlane 2.74.1 → 2.75.0.beta.20180109010003
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/bin/bin-proxy +2 -2
- data/bin/fastlane +5 -5
- data/cert/lib/cert/commands_generator.rb +1 -1
- data/cert/lib/cert/runner.rb +14 -14
- data/credentials_manager/lib/credentials_manager/account_manager.rb +11 -11
- data/credentials_manager/lib/credentials_manager/appfile_config.rb +11 -11
- data/credentials_manager/lib/credentials_manager/cli.rb +4 -4
- data/deliver/lib/deliver/app_screenshot.rb +19 -2
- data/deliver/lib/deliver/commands_generator.rb +2 -2
- data/deliver/lib/deliver/loader.rb +2 -2
- data/deliver/lib/deliver/options.rb +2 -2
- data/deliver/lib/deliver/setup.rb +1 -1
- data/deliver/lib/deliver/submit_for_review.rb +1 -1
- data/fastlane/lib/fastlane/action.rb +2 -2
- data/fastlane/lib/fastlane/actions/actions_helper.rb +5 -5
- data/fastlane/lib/fastlane/actions/add_extra_platforms.rb +2 -2
- data/fastlane/lib/fastlane/actions/add_git_tag.rb +1 -1
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/appaloosa.rb +4 -4
- data/fastlane/lib/fastlane/actions/appetize.rb +3 -3
- data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +2 -2
- data/fastlane/lib/fastlane/actions/appium.rb +2 -2
- data/fastlane/lib/fastlane/actions/appledoc.rb +3 -3
- data/fastlane/lib/fastlane/actions/apteligent.rb +2 -2
- data/fastlane/lib/fastlane/actions/artifactory.rb +2 -2
- data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +1 -1
- data/fastlane/lib/fastlane/actions/build_ios_app.rb +1 -1
- data/fastlane/lib/fastlane/actions/capture_ios_screenshots.rb +1 -1
- data/fastlane/lib/fastlane/actions/carthage.rb +4 -4
- data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +4 -4
- data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +1 -1
- data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +1 -1
- data/fastlane/lib/fastlane/actions/cloc.rb +1 -1
- data/fastlane/lib/fastlane/actions/cocoapods.rb +1 -1
- data/fastlane/lib/fastlane/actions/commit_github_file.rb +4 -4
- data/fastlane/lib/fastlane/actions/commit_version_bump.rb +7 -7
- data/fastlane/lib/fastlane/actions/copy_artifacts.rb +1 -1
- data/fastlane/lib/fastlane/actions/crashlytics.rb +2 -2
- data/fastlane/lib/fastlane/actions/debug.rb +2 -2
- data/fastlane/lib/fastlane/actions/delete_keychain.rb +1 -1
- data/fastlane/lib/fastlane/actions/deploygate.rb +7 -7
- data/fastlane/lib/fastlane/actions/docs/cert.md +2 -2
- data/fastlane/lib/fastlane/actions/docs/deliver.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/frameit.md +2 -2
- data/fastlane/lib/fastlane/actions/docs/gym.md +1 -3
- data/fastlane/lib/fastlane/actions/docs/match.md +4 -4
- data/fastlane/lib/fastlane/actions/docs/pem.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/precheck.md +2 -2
- data/fastlane/lib/fastlane/actions/docs/produce.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/scan.md +0 -2
- data/fastlane/lib/fastlane/actions/docs/sigh.md +6 -6
- data/fastlane/lib/fastlane/actions/docs/snapshot.md +4 -4
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +1 -1
- data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
- data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +1 -1
- data/fastlane/lib/fastlane/actions/flock.rb +7 -7
- data/fastlane/lib/fastlane/actions/frame_screenshots.rb +1 -1
- data/fastlane/lib/fastlane/actions/gcovr.rb +5 -5
- data/fastlane/lib/fastlane/actions/get_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +9 -9
- data/fastlane/lib/fastlane/actions/get_github_release.rb +2 -2
- data/fastlane/lib/fastlane/actions/get_info_plist_value.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_version_number.rb +7 -7
- data/fastlane/lib/fastlane/actions/github_api.rb +2 -2
- data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +2 -2
- data/fastlane/lib/fastlane/actions/hockey.rb +5 -5
- data/fastlane/lib/fastlane/actions/ifttt.rb +4 -4
- data/fastlane/lib/fastlane/actions/increment_build_number.rb +3 -3
- data/fastlane/lib/fastlane/actions/increment_version_number.rb +4 -4
- data/fastlane/lib/fastlane/actions/install_on_device.rb +2 -2
- data/fastlane/lib/fastlane/actions/install_xcode_plugin.rb +2 -2
- data/fastlane/lib/fastlane/actions/installr.rb +6 -6
- data/fastlane/lib/fastlane/actions/ipa.rb +1 -1
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/lcov.rb +1 -1
- data/fastlane/lib/fastlane/actions/mailgun.rb +3 -3
- data/fastlane/lib/fastlane/actions/modify_services.rb +1 -1
- 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/onesignal.rb +1 -1
- data/fastlane/lib/fastlane/actions/pod_push.rb +1 -1
- data/fastlane/lib/fastlane/actions/podio_item.rb +6 -6
- data/fastlane/lib/fastlane/actions/puts.rb +1 -1
- data/fastlane/lib/fastlane/actions/read_podspec.rb +1 -1
- data/fastlane/lib/fastlane/actions/recreate_schemes.rb +1 -1
- data/fastlane/lib/fastlane/actions/reset_git_repo.rb +1 -1
- data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
- data/fastlane/lib/fastlane/actions/rocket.rb +2 -2
- data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
- data/fastlane/lib/fastlane/actions/s3.rb +1 -1
- data/fastlane/lib/fastlane/actions/scp.rb +2 -2
- data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_changelog.rb +2 -2
- data/fastlane/lib/fastlane/actions/set_github_release.rb +4 -4
- data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +2 -2
- data/fastlane/lib/fastlane/actions/set_pod_key.rb +1 -1
- data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +4 -4
- data/fastlane/lib/fastlane/actions/setup_jenkins.rb +6 -6
- data/fastlane/lib/fastlane/actions/setup_travis.rb +2 -2
- data/fastlane/lib/fastlane/actions/slack.rb +3 -3
- data/fastlane/lib/fastlane/actions/slather.rb +2 -2
- data/fastlane/lib/fastlane/actions/spm.rb +2 -2
- data/fastlane/lib/fastlane/actions/ssh.rb +1 -1
- data/fastlane/lib/fastlane/actions/team_id.rb +1 -1
- data/fastlane/lib/fastlane/actions/team_name.rb +1 -1
- data/fastlane/lib/fastlane/actions/testfairy.rb +7 -7
- data/fastlane/lib/fastlane/actions/tryouts.rb +6 -6
- data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +2 -2
- data/fastlane/lib/fastlane/actions/update_fastlane.rb +5 -5
- data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +10 -10
- data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_url_schemes.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -4
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +4 -4
- data/fastlane/lib/fastlane/actions/verify_build.rb +6 -6
- data/fastlane/lib/fastlane/actions/verify_pod_keys.rb +1 -1
- data/fastlane/lib/fastlane/actions/version_bump_podspec.rb +3 -3
- data/fastlane/lib/fastlane/actions/version_get_podspec.rb +2 -2
- data/fastlane/lib/fastlane/actions/xcode_select.rb +2 -2
- data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
- data/fastlane/lib/fastlane/actions/xcov.rb +1 -1
- data/fastlane/lib/fastlane/actions/xctool.rb +1 -1
- data/fastlane/lib/fastlane/actions/xcversion.rb +1 -1
- data/fastlane/lib/fastlane/actions/zip.rb +3 -3
- data/fastlane/lib/fastlane/auto_complete.rb +15 -15
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +15 -15
- data/fastlane/lib/fastlane/command_line_handler.rb +1 -1
- data/fastlane/lib/fastlane/commands_generator.rb +26 -26
- data/fastlane/lib/fastlane/configuration_helper.rb +2 -2
- data/fastlane/lib/fastlane/documentation/actions_list.rb +47 -47
- data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
- data/fastlane/lib/fastlane/environment_printer.rb +5 -5
- data/fastlane/lib/fastlane/fast_file.rb +5 -5
- data/fastlane/lib/fastlane/fastlane_require.rb +2 -2
- data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +3 -3
- data/fastlane/lib/fastlane/helper/podspec_helper.rb +1 -1
- data/fastlane/lib/fastlane/helper/sh_helper.rb +2 -2
- data/fastlane/lib/fastlane/helper/xcversion_helper.rb +1 -1
- data/fastlane/lib/fastlane/lane.rb +6 -6
- data/fastlane/lib/fastlane/lane_list.rb +3 -3
- data/fastlane/lib/fastlane/lane_manager.rb +7 -7
- data/fastlane/lib/fastlane/lane_manager_base.rb +15 -15
- data/fastlane/lib/fastlane/markdown_table_formatter.rb +2 -2
- data/fastlane/lib/fastlane/new_action.rb +5 -5
- data/fastlane/lib/fastlane/one_off.rb +1 -1
- data/fastlane/lib/fastlane/plugins/plugin_generator.rb +5 -5
- data/fastlane/lib/fastlane/plugins/plugin_generator_ui.rb +2 -2
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +7 -7
- data/fastlane/lib/fastlane/plugins/plugin_search.rb +5 -5
- data/fastlane/lib/fastlane/plugins/plugin_update_manager.rb +4 -4
- data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +9 -8
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +37 -2
- data/fastlane/lib/fastlane/plugins/template/Gemfile +1 -1
- data/fastlane/lib/fastlane/plugins/template/Rakefile +1 -1
- data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb +3 -0
- data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb +4 -0
- data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +1 -1
- data/fastlane/lib/fastlane/runner.rb +9 -9
- data/fastlane/lib/fastlane/setup/crashlytics_beta.rb +9 -9
- data/fastlane/lib/fastlane/setup/crashlytics_beta_command_line_handler.rb +7 -7
- data/fastlane/lib/fastlane/setup/crashlytics_beta_info_collector.rb +19 -19
- data/fastlane/lib/fastlane/setup/crashlytics_beta_ui.rb +3 -3
- data/fastlane/lib/fastlane/setup/setup_android.rb +4 -4
- data/fastlane/lib/fastlane/setup/setup_ios.rb +9 -9
- data/fastlane/lib/fastlane/supported_platforms.rb +1 -1
- data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +10 -6
- data/fastlane/lib/fastlane/swift_lane_manager.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/README.md +0 -26
- data/fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb +2 -2
- data/fastlane_core/lib/fastlane_core/build_watcher.rb +1 -1
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +2 -2
- data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -3
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +4 -4
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +4 -4
- data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +4 -4
- data/fastlane_core/lib/fastlane_core/core_ext/cfpropertylist.rb +3 -3
- data/fastlane_core/lib/fastlane_core/device_manager.rb +2 -4
- data/fastlane_core/lib/fastlane_core/fastlane_folder.rb +1 -1
- data/fastlane_core/lib/fastlane_core/globals.rb +3 -3
- data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
- data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +1 -1
- data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +2 -2
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +2 -2
- data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +1 -1
- data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +1 -1
- data/fastlane_core/lib/fastlane_core/print_table.rb +5 -5
- data/fastlane_core/lib/fastlane_core/project.rb +7 -7
- data/fastlane_core/lib/fastlane_core/swag.rb +9 -9
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +49 -49
- data/fastlane_core/lib/fastlane_core/ui/github_issue_inspector_reporter.rb +18 -18
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +1 -1
- data/fastlane_core/lib/fastlane_core/update_checker/changelog.rb +7 -7
- data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +11 -11
- data/frameit/lib/frameit/commands_generator.rb +2 -2
- data/frameit/lib/frameit/config_parser.rb +11 -11
- data/frameit/lib/frameit/dependency_checker.rb +7 -7
- data/frameit/lib/frameit/editor.rb +41 -41
- data/frameit/lib/frameit/frame_downloader.rb +12 -12
- data/frameit/lib/frameit/mac_editor.rb +2 -2
- data/frameit/lib/frameit/options.rb +1 -1
- data/frameit/lib/frameit/runner.rb +7 -7
- data/frameit/lib/frameit/screenshot.rb +5 -5
- data/frameit/lib/frameit/strings_parser.rb +6 -6
- data/frameit/lib/frameit/template_finder.rb +3 -3
- data/gym/lib/gym/commands_generator.rb +4 -4
- data/gym/lib/gym/detect_values.rb +1 -1
- data/gym/lib/gym/error_handler.rb +84 -84
- data/gym/lib/gym/generators/build_command_generator.rb +1 -1
- data/gym/lib/gym/runner.rb +24 -24
- data/gym/lib/gym/xcodebuild_fixes/generic_archive_fix.rb +2 -2
- data/match/lib/assets/READMETemplate.md +3 -3
- data/match/lib/match/commands_generator.rb +3 -3
- data/match/lib/match/encrypt.rb +10 -10
- data/match/lib/match/git_helper.rb +5 -5
- data/match/lib/match/nuke.rb +29 -29
- data/match/lib/match/runner.rb +13 -13
- data/match/lib/match/setup.rb +7 -7
- data/match/lib/match/table_printer.rb +6 -6
- data/match/lib/match/utils.rb +2 -2
- data/pem/lib/pem/commands_generator.rb +1 -1
- data/pem/lib/pem/manager.rb +9 -9
- data/pem/lib/pem/module.rb +1 -1
- data/pilot/lib/pilot/build_manager.rb +8 -8
- data/pilot/lib/pilot/commands_generator.rb +1 -1
- data/pilot/lib/pilot/manager.rb +1 -1
- data/pilot/lib/pilot/options.rb +4 -4
- data/pilot/lib/pilot/tester_manager.rb +10 -10
- data/precheck/lib/precheck/commands_generator.rb +4 -4
- data/precheck/lib/precheck/rule.rb +2 -2
- data/precheck/lib/precheck/rule_processor.rb +7 -7
- data/precheck/lib/precheck/rules/abstract_text_match_rule.rb +2 -2
- data/precheck/lib/precheck/rules/curse_words_rule.rb +3 -3
- data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +3 -3
- data/precheck/lib/precheck/runner.rb +7 -7
- data/produce/lib/produce/commands_generator.rb +48 -48
- data/produce/lib/produce/developer_center.rb +4 -4
- data/produce/lib/produce/group.rb +2 -2
- data/produce/lib/produce/itunes_connect.rb +4 -4
- data/produce/lib/produce/options.rb +3 -3
- data/produce/lib/produce/service.rb +1 -1
- data/scan/lib/scan/commands_generator.rb +2 -2
- data/scan/lib/scan/error_handler.rb +12 -12
- data/scan/lib/scan/runner.rb +3 -3
- data/scan/lib/scan/slack_poster.rb +2 -2
- data/scan/lib/scan/test_command_generator.rb +1 -1
- data/screengrab/lib/screengrab/commands_generator.rb +1 -1
- data/screengrab/lib/screengrab/dependency_checker.rb +9 -9
- data/screengrab/lib/screengrab/options.rb +3 -3
- data/screengrab/lib/screengrab/reports_generator.rb +2 -2
- data/screengrab/lib/screengrab/runner.rb +32 -32
- data/sigh/lib/sigh/commands_generator.rb +18 -18
- data/sigh/lib/sigh/download_all.rb +4 -4
- data/sigh/lib/sigh/local_manage.rb +27 -27
- data/sigh/lib/sigh/manager.rb +1 -1
- data/sigh/lib/sigh/repair.rb +6 -6
- data/sigh/lib/sigh/resign.rb +7 -7
- data/sigh/lib/sigh/runner.rb +26 -26
- data/snapshot/lib/snapshot/collector.rb +7 -7
- data/snapshot/lib/snapshot/commands_generator.rb +7 -7
- data/snapshot/lib/snapshot/dependency_checker.rb +34 -19
- data/snapshot/lib/snapshot/detect_values.rb +2 -0
- data/snapshot/lib/snapshot/error_handler.rb +1 -1
- data/snapshot/lib/snapshot/fixes/hardware_keyboard_fix.rb +1 -1
- data/snapshot/lib/snapshot/fixes/simulator_zoom_fix.rb +1 -1
- data/snapshot/lib/snapshot/reports_generator.rb +2 -2
- data/snapshot/lib/snapshot/reset_simulators.rb +2 -2
- data/snapshot/lib/snapshot/runner.rb +14 -14
- data/snapshot/lib/snapshot/screenshot_flatten.rb +1 -1
- data/snapshot/lib/snapshot/screenshot_rotate.rb +6 -6
- data/snapshot/lib/snapshot/setup.rb +16 -16
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +7 -7
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_xcode_8.rb +4 -4
- data/snapshot/lib/snapshot/update.rb +8 -8
- data/spaceship/lib/spaceship/base.rb +3 -3
- data/spaceship/lib/spaceship/client.rb +17 -17
- data/spaceship/lib/spaceship/commands_generator.rb +1 -1
- data/spaceship/lib/spaceship/du/du_client.rb +6 -3
- data/spaceship/lib/spaceship/globals.rb +1 -1
- data/spaceship/lib/spaceship/playground.rb +18 -18
- data/spaceship/lib/spaceship/portal/certificate.rb +5 -5
- data/spaceship/lib/spaceship/portal/device.rb +2 -2
- data/spaceship/lib/spaceship/portal/portal_client.rb +7 -7
- data/spaceship/lib/spaceship/portal/provisioning_profile.rb +7 -9
- data/spaceship/lib/spaceship/portal/ui/select_team.rb +13 -13
- data/spaceship/lib/spaceship/spaceauth_runner.rb +16 -16
- data/spaceship/lib/spaceship/test_flight/client.rb +9 -9
- data/spaceship/lib/spaceship/tunes/app_details.rb +1 -1
- data/spaceship/lib/spaceship/tunes/app_version.rb +7 -7
- data/spaceship/lib/spaceship/tunes/app_version_common.rb +1 -1
- data/spaceship/lib/spaceship/tunes/application.rb +1 -1
- data/spaceship/lib/spaceship/tunes/device_type.rb +2 -2
- data/spaceship/lib/spaceship/tunes/iap_detail.rb +1 -1
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +54 -54
- data/spaceship/lib/spaceship/two_step_client.rb +19 -19
- data/spaceship/lib/spaceship/ui.rb +1 -1
- data/supply/lib/supply/client.rb +1 -1
- data/supply/lib/supply/commands_generator.rb +1 -1
- data/supply/lib/supply/options.rb +14 -14
- data/supply/lib/supply/uploader.rb +3 -3
- metadata +31 -25
- data/fastlane/lib/.DS_Store +0 -0
- data/fastlane/lib/assets/.DS_Store +0 -0
- data/fastlane/lib/fastlane/.DS_Store +0 -0
- data/fastlane/lib/fastlane/actions/.DS_Store +0 -0
- data/fastlane/lib/fastlane/actions/docs/.DS_Store +0 -0
- data/fastlane/lib/fastlane/setup/.DS_Store +0 -0
- data/fastlane_core/lib/.DS_Store +0 -0
- data/fastlane_core/lib/fastlane_core/.DS_Store +0 -0
@@ -41,14 +41,14 @@ module Fastlane
|
|
41
41
|
return
|
42
42
|
end
|
43
43
|
|
44
|
-
puts
|
44
|
+
puts(Terminal::Table.new({
|
45
45
|
rows: FastlaneCore::PrintTable.transform_output(rows),
|
46
46
|
title: "Plugin updates available".yellow,
|
47
47
|
headings: ["Plugin", "Your Version", "Latest Version"]
|
48
|
-
})
|
49
|
-
UI.message
|
48
|
+
}))
|
49
|
+
UI.message("To update all plugins, just run")
|
50
50
|
UI.command "bundle exec fastlane update_plugins"
|
51
|
-
puts
|
51
|
+
puts('')
|
52
52
|
@server_results = nil
|
53
53
|
end
|
54
54
|
|
@@ -23,12 +23,13 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
# spec.add_dependency 'your-dependency', '~> 1.0.0'
|
25
25
|
|
26
|
-
spec.add_development_dependency
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
29
|
-
spec.add_development_dependency
|
30
|
-
spec.add_development_dependency
|
31
|
-
spec.add_development_dependency
|
32
|
-
spec.add_development_dependency
|
33
|
-
spec.add_development_dependency
|
26
|
+
spec.add_development_dependency('pry')
|
27
|
+
spec.add_development_dependency('bundler')
|
28
|
+
spec.add_development_dependency('rspec')
|
29
|
+
spec.add_development_dependency('rspec_junit_formatter')
|
30
|
+
spec.add_development_dependency('rake')
|
31
|
+
spec.add_development_dependency('rubocop', '<%= Fastlane::RUBOCOP_REQUIREMENT %>')
|
32
|
+
spec.add_development_dependency('rubocop-require_tools')
|
33
|
+
spec.add_development_dependency('simplecov')
|
34
|
+
spec.add_development_dependency('fastlane', '>= <%= Fastlane::VERSION %>')
|
34
35
|
end
|
@@ -1,3 +1,6 @@
|
|
1
|
+
require:
|
2
|
+
- rubocop/require_tools
|
3
|
+
|
1
4
|
Style/MultipleComparison:
|
2
5
|
Enabled: false
|
3
6
|
|
@@ -83,6 +86,20 @@ Lint/UselessAssignment:
|
|
83
86
|
Exclude:
|
84
87
|
- '**/spec/**/*'
|
85
88
|
|
89
|
+
# In specs requires are done automatically
|
90
|
+
Require/MissingRequireStatement:
|
91
|
+
Exclude:
|
92
|
+
- '**/spec/**/*.rb'
|
93
|
+
- '**/spec_helper.rb'
|
94
|
+
- 'spaceship/lib/spaceship/babosa_fix.rb'
|
95
|
+
- '**/Fastfile'
|
96
|
+
- '**/*.gemspec'
|
97
|
+
- 'rakelib/**/*'
|
98
|
+
- '**/*.rake'
|
99
|
+
- '**/Rakefile'
|
100
|
+
- 'fastlane/**/*' # TODO: remove
|
101
|
+
- 'supply/**/*' # TODO: remove
|
102
|
+
|
86
103
|
# We could potentially enable the 2 below:
|
87
104
|
Layout/IndentHash:
|
88
105
|
Enabled: false
|
@@ -262,5 +279,23 @@ Style/IfInsideElse:
|
|
262
279
|
Style/CollectionMethods:
|
263
280
|
Enabled: false
|
264
281
|
|
265
|
-
|
266
|
-
|
282
|
+
# ( ) for method calls
|
283
|
+
Style/MethodCallWithArgsParentheses:
|
284
|
+
Enabled: true
|
285
|
+
IgnoredMethods:
|
286
|
+
- 'require'
|
287
|
+
- 'require_relative'
|
288
|
+
- 'gem'
|
289
|
+
- 'program'
|
290
|
+
- 'command'
|
291
|
+
- 'raise'
|
292
|
+
- 'attr_accessor'
|
293
|
+
- 'attr_reader'
|
294
|
+
- 'lane'
|
295
|
+
# rspec tests code below
|
296
|
+
- 'to'
|
297
|
+
- 'describe'
|
298
|
+
- 'it'
|
299
|
+
- 'context'
|
300
|
+
- 'before'
|
301
|
+
- 'after'
|
@@ -35,7 +35,7 @@ module Fastlane
|
|
35
35
|
Actions.lane_context[Actions::SharedValues::PLATFORM_NAME] = current_platform
|
36
36
|
Actions.lane_context[Actions::SharedValues::LANE_NAME] = full_lane_name
|
37
37
|
|
38
|
-
UI.success
|
38
|
+
UI.success("Driving the lane '#{full_lane_name}' 🚀")
|
39
39
|
|
40
40
|
return_val = nil
|
41
41
|
|
@@ -186,14 +186,14 @@ module Fastlane
|
|
186
186
|
original_full = full_lane_name
|
187
187
|
original_lane = current_lane
|
188
188
|
|
189
|
-
UI.user_error!("Parameters for a lane must always be a hash") unless (parameters.first || {}).kind_of?
|
189
|
+
UI.user_error!("Parameters for a lane must always be a hash") unless (parameters.first || {}).kind_of?(Hash)
|
190
190
|
|
191
191
|
execute_flow_block(before_each_blocks, current_platform, new_lane, parameters)
|
192
192
|
|
193
193
|
pretty = [new_lane]
|
194
194
|
pretty = [current_platform, new_lane] if current_platform
|
195
195
|
Actions.execute_action("Switch to #{pretty.join(' ')} lane") {} # log the action
|
196
|
-
UI.message
|
196
|
+
UI.message("Cruising over to lane '#{pretty.join(' ')}' 🚖")
|
197
197
|
|
198
198
|
# Actually switch lane now
|
199
199
|
self.current_lane = new_lane
|
@@ -205,7 +205,7 @@ module Fastlane
|
|
205
205
|
# Call the platform specific after block and then the general one
|
206
206
|
execute_flow_block(after_each_blocks, current_platform, new_lane, parameters)
|
207
207
|
|
208
|
-
UI.message
|
208
|
+
UI.message("Cruising back to lane '#{original_full}' 🚘")
|
209
209
|
return result
|
210
210
|
else
|
211
211
|
raise LaneNotAvailableError.new, "Lane not found"
|
@@ -233,7 +233,7 @@ module Fastlane
|
|
233
233
|
# Since we usually just need the passed hash, we'll just use the first object if there is only one
|
234
234
|
if arguments.count == 0
|
235
235
|
arguments = ConfigurationHelper.parse(class_ref, {}) # no parameters => empty hash
|
236
|
-
elsif arguments.count == 1 and arguments.first.kind_of?
|
236
|
+
elsif arguments.count == 1 and arguments.first.kind_of?(Hash)
|
237
237
|
arguments = ConfigurationHelper.parse(class_ref, arguments.first) # Correct configuration passed
|
238
238
|
elsif !class_ref.available_options
|
239
239
|
# This action does not use the new action format
|
@@ -243,10 +243,10 @@ module Fastlane
|
|
243
243
|
end
|
244
244
|
|
245
245
|
if Fastlane::Actions.is_deprecated?(class_ref)
|
246
|
-
puts
|
247
|
-
puts
|
248
|
-
puts
|
249
|
-
puts
|
246
|
+
puts("==========================================".deprecated)
|
247
|
+
puts("This action (#{method_sym}) is deprecated".deprecated)
|
248
|
+
puts(class_ref.deprecated_notes.to_s.deprecated) if class_ref.deprecated_notes
|
249
|
+
puts("==========================================\n".deprecated)
|
250
250
|
end
|
251
251
|
|
252
252
|
class_ref.runner = self # needed to call another action form an action
|
@@ -8,10 +8,10 @@ module Fastlane
|
|
8
8
|
def run
|
9
9
|
setup = Setup.new
|
10
10
|
|
11
|
-
@ui.message
|
12
|
-
@ui.message
|
11
|
+
@ui.message('This command will generate a fastlane configuration for distributing your app with Beta by Crashlytics')
|
12
|
+
@ui.message('so that you can get your testers new builds with a single command!')
|
13
13
|
|
14
|
-
@ui.message
|
14
|
+
@ui.message('')
|
15
15
|
|
16
16
|
if setup.is_android?
|
17
17
|
UI.user_error!('Sorry, Beta by Crashlytics configuration is currently only available for iOS projects!')
|
@@ -19,18 +19,18 @@ module Fastlane
|
|
19
19
|
UI.user_error!('Please run Beta by Crashlytics configuration from your iOS project folder.')
|
20
20
|
end
|
21
21
|
|
22
|
-
@ui.message
|
22
|
+
@ui.message("\nAttempting to detect your project settings in this directory...".cyan)
|
23
23
|
info_collector = CrashlyticsBetaInfoCollector.new(CrashlyticsProjectParser.new,
|
24
24
|
CrashlyticsBetaUserEmailFetcher.new,
|
25
25
|
@ui)
|
26
26
|
info_collector.collect_info_into(@beta_info)
|
27
27
|
|
28
28
|
if FastlaneCore::FastlaneFolder.setup?
|
29
|
-
@ui.message
|
29
|
+
@ui.message("")
|
30
30
|
@ui.header('Copy and paste the following lane into your Fastfile to use Crashlytics Beta!')
|
31
|
-
@ui.message
|
32
|
-
puts
|
33
|
-
@ui.message
|
31
|
+
@ui.message("")
|
32
|
+
puts(lane_template.cyan)
|
33
|
+
@ui.message("")
|
34
34
|
else
|
35
35
|
fastfile = fastfile_template
|
36
36
|
FileUtils.mkdir_p('fastlane')
|
@@ -40,7 +40,7 @@ module Fastlane
|
|
40
40
|
@ui.header('Next Steps')
|
41
41
|
@ui.success('Run the following command to build and upload to Beta by Crashlytics. 🎯')
|
42
42
|
@ui.message("\n fastlane beta")
|
43
|
-
@ui.message
|
43
|
+
@ui.message("")
|
44
44
|
end
|
45
45
|
|
46
46
|
def lane_template
|
@@ -14,13 +14,13 @@ module Fastlane
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def self.apply_options(command)
|
17
|
-
command.option
|
18
|
-
command.option
|
19
|
-
command.option
|
20
|
-
command.option
|
21
|
-
command.option
|
22
|
-
command.option
|
23
|
-
command.option
|
17
|
+
command.option('--crashlytics_path STRING', String, 'Path to Crashlytics.framework')
|
18
|
+
command.option('--api_key STRING', String, 'Crashlytics API key')
|
19
|
+
command.option('--build_secret STRING', String, 'Crashlytics build secret')
|
20
|
+
command.option('--emails ARRAY', Array, 'List of emails to invite')
|
21
|
+
command.option('--groups ARRAY', Array, 'List of group aliases to invite')
|
22
|
+
command.option('--scheme STRING', String, 'Xcode scheme')
|
23
|
+
command.option('--export_method STRING', String, 'Provisioning profile type (ad-hoc, enterprise, development)')
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -11,7 +11,7 @@ module Fastlane
|
|
11
11
|
# @param info CrashlyticsBetaInfo to supplement with needed info that is collected
|
12
12
|
def collect_info_into(info)
|
13
13
|
if user_provided_invalid_values?(info) || !info.has_all_detectable_values?
|
14
|
-
@ui.message
|
14
|
+
@ui.message("\nTrying to discover Beta by Crashlytics info from your project...".cyan)
|
15
15
|
parse_project_info_into(info)
|
16
16
|
fetch_email_into(info)
|
17
17
|
end
|
@@ -23,27 +23,27 @@ module Fastlane
|
|
23
23
|
invalid = false
|
24
24
|
|
25
25
|
if info.crashlytics_path && !info.crashlytics_path_valid?
|
26
|
-
@ui.message
|
26
|
+
@ui.message("The crashlytics_path you provided (#{info.crashlytics_path}) is not valid.")
|
27
27
|
invalid = true
|
28
28
|
end
|
29
29
|
|
30
30
|
if info.api_key && !info.api_key_valid?
|
31
|
-
@ui.message
|
31
|
+
@ui.message("The api_key you provided (#{info.api_key}) is not valid.")
|
32
32
|
invalid = true
|
33
33
|
end
|
34
34
|
|
35
35
|
if info.build_secret && !info.build_secret_valid?
|
36
|
-
@ui.message
|
36
|
+
@ui.message("The build_secret you provided (#{info.build_secret}) is not valid.")
|
37
37
|
invalid = true
|
38
38
|
end
|
39
39
|
|
40
40
|
if info.emails && !info.emails_valid?
|
41
|
-
@ui.message
|
41
|
+
@ui.message("The email you provided (#{info.emails.first}) is not valid.")
|
42
42
|
invalid = true
|
43
43
|
end
|
44
44
|
|
45
45
|
if info.schemes && !info.schemes_valid?
|
46
|
-
@ui.message
|
46
|
+
@ui.message("The scheme you provided (#{info.schemes.first}) is not valid.")
|
47
47
|
invalid = true
|
48
48
|
end
|
49
49
|
|
@@ -54,7 +54,7 @@ module Fastlane
|
|
54
54
|
begin
|
55
55
|
info_hash = @project_parser.parse
|
56
56
|
rescue => ex
|
57
|
-
@ui.important
|
57
|
+
@ui.important(ex.message)
|
58
58
|
end
|
59
59
|
|
60
60
|
if info_hash
|
@@ -72,32 +72,32 @@ module Fastlane
|
|
72
72
|
|
73
73
|
def prompt_for_missing_values(info)
|
74
74
|
if !info.crashlytics_path || !info.crashlytics_path_valid?
|
75
|
-
@ui.important
|
75
|
+
@ui.important("A Crashlytics submit binary path couldn't be discovered from your project 🔍")
|
76
76
|
prompt_for_crashlytics_path(info)
|
77
77
|
end
|
78
78
|
|
79
79
|
if !info.api_key || !info.api_key_valid?
|
80
|
-
@ui.important
|
80
|
+
@ui.important("Your Fabric organization's API Key couldn't be discovered from your project 🔍")
|
81
81
|
show_fabric_org_help unless @shown_fabric_org_help
|
82
82
|
prompt_for_api_key(info)
|
83
83
|
end
|
84
84
|
|
85
85
|
if !info.build_secret || !info.build_secret_valid?
|
86
|
-
@ui.important
|
86
|
+
@ui.important("Your Fabric organization's Build Secret couldn't be discovered from your project 🔍")
|
87
87
|
show_fabric_org_help unless @shown_fabric_org_help
|
88
88
|
prompt_for_build_secret(info)
|
89
89
|
end
|
90
90
|
|
91
91
|
if (!info.emails || !info.emails_valid?) && !info.groups
|
92
|
-
@ui.important
|
92
|
+
@ui.important("Your email address couldn't be discovered from your project 🔍")
|
93
93
|
prompt_for_email(info)
|
94
94
|
end
|
95
95
|
|
96
96
|
if !info.schemes || info.schemes.empty?
|
97
|
-
@ui.important
|
97
|
+
@ui.important("Your scheme couldn't be discovered from your project 🔍")
|
98
98
|
prompt_for_schemes(info)
|
99
99
|
elsif info.schemes.size > 1
|
100
|
-
@ui.important
|
100
|
+
@ui.important("Multiple schemes were discovered from your project 🔍")
|
101
101
|
prompt_for_schemes(info)
|
102
102
|
end
|
103
103
|
|
@@ -115,7 +115,7 @@ module Fastlane
|
|
115
115
|
loop do
|
116
116
|
info.api_key = @ui.input("Please provide your Fabric organization's API Key:").strip
|
117
117
|
break if info.api_key_valid?
|
118
|
-
@ui.message
|
118
|
+
@ui.message("The API Key you provided was invalid (must be 40 characters).")
|
119
119
|
end
|
120
120
|
end
|
121
121
|
|
@@ -123,7 +123,7 @@ module Fastlane
|
|
123
123
|
loop do
|
124
124
|
info.build_secret = @ui.input("Please provide your Fabric organization's Build Secret:").strip
|
125
125
|
break if info.build_secret_valid?
|
126
|
-
@ui.message
|
126
|
+
@ui.message("The Build Secret you provided was invalid (must be 64 characters).")
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
@@ -131,7 +131,7 @@ module Fastlane
|
|
131
131
|
loop do
|
132
132
|
info.crashlytics_path = @ui.input("Please provide the path to Crashlytics.framework:").strip
|
133
133
|
break if info.crashlytics_path_valid?
|
134
|
-
@ui.message
|
134
|
+
@ui.message("A submit binary could not be found at the framework path you provided.")
|
135
135
|
end
|
136
136
|
end
|
137
137
|
|
@@ -139,7 +139,7 @@ module Fastlane
|
|
139
139
|
loop do
|
140
140
|
info.emails = [@ui.input("Please enter an email address to distribute the beta to:").strip]
|
141
141
|
break if info.emails_valid?
|
142
|
-
@ui.message
|
142
|
+
@ui.message("You must provide an email address.")
|
143
143
|
end
|
144
144
|
end
|
145
145
|
|
@@ -149,7 +149,7 @@ module Fastlane
|
|
149
149
|
loop do
|
150
150
|
info.schemes = [@ui.input("Please enter the name of the scheme you would like to use:").strip]
|
151
151
|
break if info.schemes_valid?
|
152
|
-
@ui.message
|
152
|
+
@ui.message("You must provide a scheme name.")
|
153
153
|
end
|
154
154
|
else
|
155
155
|
info.schemes = [@ui.choose("\nWhich scheme would you like to use?", current_schemes)]
|
@@ -157,7 +157,7 @@ module Fastlane
|
|
157
157
|
end
|
158
158
|
|
159
159
|
def prompt_for_export_method(info)
|
160
|
-
@ui.important
|
160
|
+
@ui.important("The export method you entered was not valid.")
|
161
161
|
info.export_method = @ui.choose("\nWhich export method would you like to use?", CrashlyticsBetaInfo::EXPORT_METHODS)
|
162
162
|
end
|
163
163
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
module Fastlane
|
2
2
|
class CrashlyticsBetaUi
|
3
3
|
def success(text)
|
4
|
-
puts
|
4
|
+
puts(text.green)
|
5
5
|
end
|
6
6
|
|
7
7
|
def message(text)
|
8
|
-
puts
|
8
|
+
puts(text)
|
9
9
|
end
|
10
10
|
|
11
11
|
def header(text)
|
@@ -13,7 +13,7 @@ module Fastlane
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def important(text)
|
16
|
-
puts
|
16
|
+
puts(text.yellow)
|
17
17
|
end
|
18
18
|
|
19
19
|
def input(text)
|
@@ -20,10 +20,10 @@ module Fastlane
|
|
20
20
|
UI.success('To not re-enter your packagename and issuer every time you run one of the fastlane tools or fastlane, these will be stored in a so-called Appfile.')
|
21
21
|
|
22
22
|
package_name = UI.input("Package Name (com.krausefx.app): ")
|
23
|
-
puts
|
24
|
-
puts
|
25
|
-
puts
|
26
|
-
puts
|
23
|
+
puts("")
|
24
|
+
puts("To automatically upload builds and metadata to Google Play, fastlane needs a service action json secret file".yellow)
|
25
|
+
puts("Feel free to just click Enter to skip not provide certain things")
|
26
|
+
puts("Follow the Setup Guide on how to get the Json file: https://docs.fastlane.tools/actions/supply/".yellow)
|
27
27
|
json_key_file = UI.input("Path to the json secret file: ")
|
28
28
|
|
29
29
|
template = File.read("#{Fastlane::ROOT}/lib/assets/AppfileTemplateAndroid")
|
@@ -165,17 +165,17 @@ module Fastlane
|
|
165
165
|
rows << ["App Identifier", self.app_identifier]
|
166
166
|
rows << [(self.project.is_workspace ? "Workspace" : "Project"), self.project.path]
|
167
167
|
require 'terminal-table'
|
168
|
-
puts
|
169
|
-
puts
|
170
|
-
title: "Detected Values")
|
171
|
-
puts
|
168
|
+
puts("")
|
169
|
+
puts(Terminal::Table.new(rows: FastlaneCore::PrintTable.transform_output(rows),
|
170
|
+
title: "Detected Values"))
|
171
|
+
puts("")
|
172
172
|
|
173
173
|
unless self.itc_ref || self.project.mac?
|
174
|
-
UI.important
|
174
|
+
UI.important("This app identifier doesn't exist on iTunes Connect yet, it will be created for you")
|
175
175
|
end
|
176
176
|
|
177
177
|
unless self.portal_ref || self.project.mac?
|
178
|
-
UI.important
|
178
|
+
UI.important("This app identifier doesn't exist on the Apple Developer Portal yet, it will be created for you")
|
179
179
|
end
|
180
180
|
end
|
181
181
|
|
@@ -234,8 +234,8 @@ module Fastlane
|
|
234
234
|
|
235
235
|
# Detect if the app was created on the Dev Portal / iTC
|
236
236
|
def detect_if_app_is_available
|
237
|
-
UI.important
|
238
|
-
UI.message
|
237
|
+
UI.important("Verifying that app is available on the Apple Developer Portal and iTunes Connect...")
|
238
|
+
UI.message("Starting login with user '#{self.apple_id}'")
|
239
239
|
Spaceship.login(self.apple_id, nil)
|
240
240
|
self.dev_portal_team = Spaceship.select_team
|
241
241
|
self.portal_ref = Spaceship::App.find(self.app_identifier)
|
@@ -246,7 +246,7 @@ module Fastlane
|
|
246
246
|
end
|
247
247
|
|
248
248
|
def create_app_if_necessary
|
249
|
-
UI.important
|
249
|
+
UI.important("Creating the app on iTunes Connect and the Apple Developer Portal")
|
250
250
|
require 'produce'
|
251
251
|
config = {} # this has to be done like this
|
252
252
|
FastlaneCore::Project.detect_projects(config)
|