fastlane 2.185.0 → 2.188.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +96 -96
- data/fastlane/lib/fastlane/actions/appetize.rb +0 -7
- 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_xcarchive.rb +2 -2
- data/fastlane/lib/fastlane/actions/badge.rb +9 -13
- data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +1 -3
- data/fastlane/lib/fastlane/actions/bundle_install.rb +8 -10
- data/fastlane/lib/fastlane/actions/carthage.rb +1 -15
- 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/clean_build_artifacts.rb +0 -1
- data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +0 -1
- data/fastlane/lib/fastlane/actions/cloc.rb +9 -13
- data/fastlane/lib/fastlane/actions/cocoapods.rb +9 -15
- data/fastlane/lib/fastlane/actions/commit_github_file.rb +1 -3
- 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/danger.rb +6 -11
- 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 +26 -27
- data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +2 -2
- data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
- data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +1 -1
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +3 -4
- data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
- 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_ipa_info_plist_value.rb +0 -1
- data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +29 -34
- data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
- data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
- data/fastlane/lib/fastlane/actions/git_commit.rb +2 -6
- data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
- data/fastlane/lib/fastlane/actions/github_api.rb +2 -5
- data/fastlane/lib/fastlane/actions/gradle.rb +12 -20
- 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 +4 -5
- 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 +2 -4
- data/fastlane/lib/fastlane/actions/increment_build_number.rb +1 -2
- data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
- 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 +8 -14
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +3 -4
- 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/modify_services.rb +59 -24
- data/fastlane/lib/fastlane/actions/nexus_upload.rb +2 -2
- data/fastlane/lib/fastlane/actions/notarize.rb +1 -4
- 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 +1 -1
- data/fastlane/lib/fastlane/actions/puts.rb +1 -2
- data/fastlane/lib/fastlane/actions/register_devices.rb +0 -1
- 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/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 +1 -1
- 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 +6 -8
- data/fastlane/lib/fastlane/actions/slather.rb +3 -19
- data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
- data/fastlane/lib/fastlane/actions/sourcedocs.rb +62 -98
- 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/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 +2 -2
- 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_sentry.rb +3 -10
- 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/documentation/docs_generator.rb +1 -1
- data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +1 -1
- data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +4 -4
- data/fastlane/lib/fastlane/helper/git_helper.rb +17 -5
- 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/setup/setup_ios.rb +3 -3
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +4 -4
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +1239 -1222
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -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 +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +19 -11
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +13 -0
- data/fastlane_core/lib/fastlane_core/print_table.rb +5 -3
- data/fastlane_core/lib/fastlane_core/project.rb +7 -3
- data/match/lib/match/importer.rb +3 -0
- data/match/lib/match/nuke.rb +2 -3
- data/pilot/lib/pilot.rb +0 -1
- data/pilot/lib/pilot/build_manager.rb +0 -3
- data/pilot/lib/pilot/manager.rb +4 -1
- data/produce/lib/produce/commands_generator.rb +99 -27
- data/produce/lib/produce/developer_center.rb +42 -4
- data/produce/lib/produce/options.rb +1 -1
- data/produce/lib/produce/service.rb +270 -179
- data/screengrab/lib/screengrab/android_environment.rb +2 -52
- data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
- data/screengrab/lib/screengrab/options.rb +5 -2
- data/screengrab/lib/screengrab/runner.rb +109 -107
- data/snapshot/lib/assets/SnapfileTemplate +2 -1
- data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
- data/snapshot/lib/assets/SnapshotHelper.swift +14 -10
- data/snapshot/lib/snapshot/reports_generator.rb +3 -1
- data/snapshot/lib/snapshot/test_command_generator.rb +17 -3
- data/spaceship/lib/spaceship/client.rb +13 -3
- data/spaceship/lib/spaceship/connect_api/api_client.rb +30 -5
- data/spaceship/lib/spaceship/connect_api/models/{.app_store_version_submission.rb.swp → .bundle_id.rb.swp} +0 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +3 -1
- data/spaceship/lib/spaceship/connect_api/models/build.rb +3 -1
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +8 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +58 -17
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +41 -1
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +13 -0
- data/spaceship/lib/spaceship/portal/.app.rb.swp +0 -0
- data/spaceship/lib/spaceship/spaceauth_runner.rb +19 -6
- metadata +25 -28
- data/fastlane/lib/fastlane/.erb_template_helper.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/.git_commit.rb.swp +0 -0
- data/gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp +0 -0
- data/pilot/lib/pilot/features.rb +0 -0
- data/spaceship/lib/spaceship/.DS_Store +0 -0
@@ -56,10 +56,7 @@ module Fastlane
|
|
56
56
|
FastlaneCore::ConfigItem.new(key: :identifiers,
|
57
57
|
env_name: "FL_UPDATE_KEYCHAIN_ACCESS_GROUPS_IDENTIFIERS",
|
58
58
|
description: "An Array of unique identifiers for the keychain access groups. Eg. ['your.keychain.access.groups.identifiers']",
|
59
|
-
|
60
|
-
verify_block: proc do |value|
|
61
|
-
UI.user_error!("The parameter identifiers need to be an Array.") unless value.kind_of?(Array)
|
62
|
-
end)
|
59
|
+
type: Array)
|
63
60
|
]
|
64
61
|
end
|
65
62
|
|
@@ -117,7 +117,7 @@ module Fastlane
|
|
117
117
|
env_name: "FL_PROJECT_PROVISIONING_PROFILE_TARGET_FILTER",
|
118
118
|
description: "A filter for the target name. Use a standard regex",
|
119
119
|
optional: true,
|
120
|
-
|
120
|
+
skip_type_validation: true, # allow Regexp, String
|
121
121
|
verify_block: proc do |value|
|
122
122
|
UI.user_error!("target_filter should be Regexp or String") unless [Regexp, String].any? { |type| value.kind_of?(type) }
|
123
123
|
end),
|
@@ -129,7 +129,7 @@ module Fastlane
|
|
129
129
|
env_name: "FL_PROJECT_PROVISIONING_PROFILE_BUILD_CONFIGURATION",
|
130
130
|
description: "A filter for the build configuration name. Use a standard regex. Applied to all configurations if not specified",
|
131
131
|
optional: true,
|
132
|
-
|
132
|
+
skip_type_validation: true, # allow Regexp, String
|
133
133
|
verify_block: proc do |value|
|
134
134
|
UI.user_error!("build_configuration should be Regexp or String") unless [Regexp, String].any? { |type| value.kind_of?(type) }
|
135
135
|
end),
|
@@ -58,7 +58,6 @@ module Fastlane
|
|
58
58
|
description: "The production app secret"),
|
59
59
|
FastlaneCore::ConfigItem.new(key: :detect_provisioning_mode,
|
60
60
|
env_name: "URBAN_AIRSHIP_DETECT_PROVISIONING_MODE",
|
61
|
-
is_string: false,
|
62
61
|
type: Boolean,
|
63
62
|
optional: true,
|
64
63
|
description: "Automatically detect provisioning mode")
|
@@ -51,33 +51,22 @@ module Fastlane
|
|
51
51
|
|
52
52
|
def self.available_options
|
53
53
|
[
|
54
|
-
FastlaneCore::ConfigItem.new(
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
key: :url_schemes,
|
67
|
-
env_name: "FL_UPDATE_URL_SCHEMES_SCHEMES",
|
68
|
-
description: 'The new URL schemes',
|
69
|
-
is_string: false,
|
70
|
-
optional: true,
|
71
|
-
verify_block: proc do |url_schemes|
|
72
|
-
string = "The URL schemes must be an array of strings, got '#{url_schemes}'."
|
73
|
-
verify_schemes!(url_schemes, string)
|
74
|
-
end
|
75
|
-
),
|
76
|
-
|
54
|
+
FastlaneCore::ConfigItem.new(key: :path,
|
55
|
+
env_name: 'FL_UPDATE_URL_SCHEMES_PATH',
|
56
|
+
description: 'The Plist file\'s path',
|
57
|
+
optional: false,
|
58
|
+
verify_block: proc do |path|
|
59
|
+
UI.user_error!("Could not find plist at path '#{path}'") unless File.exist?(path)
|
60
|
+
end),
|
61
|
+
FastlaneCore::ConfigItem.new(key: :url_schemes,
|
62
|
+
env_name: "FL_UPDATE_URL_SCHEMES_SCHEMES",
|
63
|
+
description: 'The new URL schemes',
|
64
|
+
type: Array,
|
65
|
+
optional: true),
|
77
66
|
FastlaneCore::ConfigItem.new(key: :update_url_schemes,
|
78
|
-
|
79
|
-
|
80
|
-
|
67
|
+
description: "Block that is called to update schemes with current schemes passed in as parameter",
|
68
|
+
optional: true,
|
69
|
+
type: :string_callback)
|
81
70
|
]
|
82
71
|
end
|
83
72
|
|
@@ -205,7 +205,7 @@ module Fastlane
|
|
205
205
|
env_name: "FASTLANE_ITC_TEAM_ID",
|
206
206
|
description: "The ID of your App Store Connect team if you're in multiple teams",
|
207
207
|
optional: true,
|
208
|
-
|
208
|
+
skip_type_validation: true, # as we also allow integers, which we convert to strings anyway
|
209
209
|
code_gen_sensitive: true,
|
210
210
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
|
211
211
|
default_value_dynamic: true),
|
@@ -221,7 +221,6 @@ module Fastlane
|
|
221
221
|
FastlaneCore::ConfigItem.new(key: :json_path,
|
222
222
|
env_name: "UPLOAD_APP_PRIVACY_DETAILS_TO_APP_STORE_JSON_PATH",
|
223
223
|
description: "Path to the app usage data JSON",
|
224
|
-
is_string: true,
|
225
224
|
optional: true,
|
226
225
|
verify_block: proc do |value|
|
227
226
|
UI.user_error!("Could not find JSON file at path '#{File.expand_path(value)}'") unless File.exist?(value)
|
@@ -79,7 +79,6 @@ module Fastlane
|
|
79
79
|
FastlaneCore::ConfigItem.new(key: :api_host,
|
80
80
|
env_name: "SENTRY_HOST",
|
81
81
|
description: "API host url for Sentry",
|
82
|
-
is_string: true,
|
83
82
|
default_value: "https://app.getsentry.com/api/0",
|
84
83
|
optional: true),
|
85
84
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
@@ -109,20 +108,14 @@ module Fastlane
|
|
109
108
|
description: "Path to your symbols file. For iOS and Mac provide path to app.dSYM.zip",
|
110
109
|
default_value: Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH],
|
111
110
|
default_value_dynamic: true,
|
112
|
-
optional: true,
|
113
|
-
verify_block: proc do |value|
|
114
|
-
# validation is done in the action
|
115
|
-
end),
|
111
|
+
optional: true),
|
116
112
|
FastlaneCore::ConfigItem.new(key: :dsym_paths,
|
117
113
|
env_name: "SENTRY_DSYM_PATHS",
|
118
114
|
description: "Path to an array of your symbols file. For iOS and Mac provide path to app.dSYM.zip",
|
119
115
|
default_value: Actions.lane_context[SharedValues::DSYM_PATHS],
|
120
116
|
default_value_dynamic: true,
|
121
|
-
|
122
|
-
optional: true
|
123
|
-
verify_block: proc do |value|
|
124
|
-
# validation is done in the action
|
125
|
-
end)
|
117
|
+
type: Array,
|
118
|
+
optional: true)
|
126
119
|
]
|
127
120
|
end
|
128
121
|
|
@@ -42,53 +42,49 @@ module Fastlane
|
|
42
42
|
|
43
43
|
def self.available_options
|
44
44
|
[
|
45
|
-
FastlaneCore::ConfigItem.new(
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
UI.user_error!("Could not parse service account json: JSON::ParseError")
|
75
|
-
end
|
76
|
-
end
|
77
|
-
),
|
45
|
+
FastlaneCore::ConfigItem.new(key: :json_key,
|
46
|
+
env_name: "SUPPLY_JSON_KEY",
|
47
|
+
short_option: "-j",
|
48
|
+
conflicting_options: [:json_key_data],
|
49
|
+
optional: true,
|
50
|
+
description: "The path to a file containing service account JSON, used to authenticate with Google",
|
51
|
+
code_gen_sensitive: true,
|
52
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_file),
|
53
|
+
default_value_dynamic: true,
|
54
|
+
verify_block: proc do |value|
|
55
|
+
UI.user_error!("Could not find service account json file at path '#{File.expand_path(value)}'") unless File.exist?(File.expand_path(value))
|
56
|
+
UI.user_error!("'#{value}' doesn't seem to be a JSON file") unless FastlaneCore::Helper.json_file?(File.expand_path(value))
|
57
|
+
end),
|
58
|
+
FastlaneCore::ConfigItem.new(key: :json_key_data,
|
59
|
+
env_name: "SUPPLY_JSON_KEY_DATA",
|
60
|
+
short_option: "-c",
|
61
|
+
conflicting_options: [:json_key],
|
62
|
+
optional: true,
|
63
|
+
description: "The raw service account JSON data used to authenticate with Google",
|
64
|
+
code_gen_sensitive: true,
|
65
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_data_raw),
|
66
|
+
default_value_dynamic: true,
|
67
|
+
verify_block: proc do |value|
|
68
|
+
begin
|
69
|
+
JSON.parse(value)
|
70
|
+
rescue JSON::ParserError
|
71
|
+
UI.user_error!("Could not parse service account json: JSON::ParseError")
|
72
|
+
end
|
73
|
+
end),
|
78
74
|
# stuff
|
79
75
|
FastlaneCore::ConfigItem.new(key: :root_url,
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
76
|
+
env_name: "SUPPLY_ROOT_URL",
|
77
|
+
description: "Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/",
|
78
|
+
optional: true,
|
79
|
+
verify_block: proc do |value|
|
80
|
+
UI.user_error!("Could not parse URL '#{value}'") unless value =~ URI.regexp
|
81
|
+
end),
|
86
82
|
FastlaneCore::ConfigItem.new(key: :timeout,
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
83
|
+
env_name: "SUPPLY_TIMEOUT",
|
84
|
+
optional: true,
|
85
|
+
description: "Timeout for read, open, and send (in seconds)",
|
86
|
+
type: Integer,
|
87
|
+
default_value: 300)
|
92
88
|
]
|
93
89
|
end
|
94
90
|
|
@@ -28,7 +28,6 @@ module Fastlane
|
|
28
28
|
FastlaneCore::ConfigItem.new(key: :path,
|
29
29
|
env_name: "FL_VERSION_PODSPEC_PATH",
|
30
30
|
description: "You must specify the path to the podspec file",
|
31
|
-
is_string: true,
|
32
31
|
code_gen_sensitive: true,
|
33
32
|
default_value: Dir["*.podspec"].last,
|
34
33
|
default_value_dynamic: true,
|
@@ -38,7 +37,7 @@ module Fastlane
|
|
38
37
|
FastlaneCore::ConfigItem.new(key: :require_variable_prefix,
|
39
38
|
env_name: "FL_VERSION_BUMP_PODSPEC_VERSION_REQUIRE_VARIABLE_PREFIX",
|
40
39
|
description: "true by default, this is used for non CocoaPods version bumps only",
|
41
|
-
|
40
|
+
type: Boolean,
|
42
41
|
default_value: true)
|
43
42
|
]
|
44
43
|
end
|
@@ -243,7 +243,7 @@ module Fastlane
|
|
243
243
|
FastlaneCore::ConfigItem.new(key: :integration_number,
|
244
244
|
env_name: "FL_XCODE_SERVER_GET_ASSETS_INTEGRATION_NUMBER",
|
245
245
|
description: "Optionally you can override which integration's assets should be downloaded. If not provided, the latest integration is used",
|
246
|
-
|
246
|
+
type: Integer,
|
247
247
|
optional: true),
|
248
248
|
FastlaneCore::ConfigItem.new(key: :username,
|
249
249
|
env_name: "FL_XCODE_SERVER_GET_ASSETS_USERNAME",
|
@@ -265,13 +265,13 @@ module Fastlane
|
|
265
265
|
env_name: "FL_XCODE_SERVER_GET_ASSETS_KEEP_ALL_ASSETS",
|
266
266
|
description: "Whether to keep all assets or let the script delete everything except for the .xcarchive",
|
267
267
|
optional: true,
|
268
|
-
|
268
|
+
type: Boolean,
|
269
269
|
default_value: false),
|
270
270
|
FastlaneCore::ConfigItem.new(key: :trust_self_signed_certs,
|
271
271
|
env_name: "FL_XCODE_SERVER_GET_ASSETS_TRUST_SELF_SIGNED_CERTS",
|
272
272
|
description: "Whether to trust self-signed certs on your Xcode Server",
|
273
273
|
optional: true,
|
274
|
-
|
274
|
+
type: Boolean,
|
275
275
|
default_value: true)
|
276
276
|
]
|
277
277
|
end
|
@@ -44,7 +44,7 @@ module Fastlane
|
|
44
44
|
output << ""
|
45
45
|
end
|
46
46
|
|
47
|
-
output << "This README.md is auto-generated and will be re-generated every time [
|
47
|
+
output << "This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run."
|
48
48
|
output << "More information about fastlane can be found on [fastlane.tools](https://fastlane.tools)."
|
49
49
|
output << "The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools)."
|
50
50
|
output << ""
|
@@ -175,7 +175,7 @@ module Fastlane
|
|
175
175
|
mkdocs_yml_path = File.join(target_path, "mkdocs.yml")
|
176
176
|
raise "Could not find mkdocs.yml in #{target_path}, make sure to point to the fastlane/docs repo" unless File.exist?(mkdocs_yml_path)
|
177
177
|
mkdocs_yml = YAML.load_file(mkdocs_yml_path)
|
178
|
-
hidden_actions_array = mkdocs_yml["
|
178
|
+
hidden_actions_array = mkdocs_yml["nav"].find { |p| !p["_Actions"].nil? }
|
179
179
|
hidden_actions_array["_Actions"] = all_actions_ref_yml
|
180
180
|
File.write(mkdocs_yml_path, mkdocs_yml.to_yaml)
|
181
181
|
|
@@ -47,9 +47,9 @@ module Fastlane
|
|
47
47
|
command << params[:api_token]
|
48
48
|
command << params[:build_secret]
|
49
49
|
command << "-ipaPath '#{params[:ipa_path]}'"
|
50
|
-
command << "-emails '#{params[:emails]}'" if params[:emails]
|
50
|
+
command << "-emails '#{params[:emails].join(',')}'" if params[:emails]
|
51
51
|
command << "-notesPath '#{params[:notes_path]}'" if params[:notes_path]
|
52
|
-
command << "-groupAliases '#{params[:groups]}'" if params[:groups]
|
52
|
+
command << "-groupAliases '#{params[:groups].join(',')}'" if params[:groups]
|
53
53
|
command << "-notifications #{(params[:notifications] ? 'YES' : 'NO')}"
|
54
54
|
command << "-debug #{(params[:debug] ? 'YES' : 'NO')}"
|
55
55
|
|
@@ -74,9 +74,9 @@ module Fastlane
|
|
74
74
|
command << "-androidManifest #{File.expand_path(android_manifest_path).shellescape}"
|
75
75
|
|
76
76
|
# Optional
|
77
|
-
command << "-betaDistributionEmails #{params[:emails].shellescape}" if params[:emails]
|
77
|
+
command << "-betaDistributionEmails #{params[:emails].join(',').shellescape}" if params[:emails]
|
78
78
|
command << "-betaDistributionReleaseNotesFilePath #{File.expand_path(params[:notes_path]).shellescape}" if params[:notes_path]
|
79
|
-
command << "-betaDistributionGroupAliases #{params[:groups].shellescape}" if params[:groups]
|
79
|
+
command << "-betaDistributionGroupAliases #{params[:groups].join(',').shellescape}" if params[:groups]
|
80
80
|
command << "-betaDistributionNotifications #{(params[:notifications] ? 'true' : 'false')}"
|
81
81
|
|
82
82
|
return command
|
@@ -131,12 +131,24 @@ module Fastlane
|
|
131
131
|
# Returns the checked out git branch name or "HEAD" if you're in detached HEAD state
|
132
132
|
def self.git_branch_name_using_HEAD
|
133
133
|
# Rescues if not a git repo or no commits in a git repo
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
134
|
+
Actions.sh("git rev-parse --abbrev-ref HEAD", log: false).chomp
|
135
|
+
rescue => err
|
136
|
+
UI.verbose("Error getting git branch: #{err.message}")
|
137
|
+
nil
|
138
|
+
end
|
139
|
+
|
140
|
+
# Returns the default git remote branch name
|
141
|
+
def self.git_remote_branch_name(remote_name)
|
142
|
+
# Rescues if not a git repo or no remote repo
|
143
|
+
if remote_name
|
144
|
+
Actions.sh("git remote show #{remote_name} | grep 'HEAD branch' | sed 's/.*: //'", log: false).chomp
|
145
|
+
else
|
146
|
+
# Query git for the current remote head
|
147
|
+
Actions.sh("variable=$(git remote) && git remote show $variable | grep 'HEAD branch' | sed 's/.*: //'", log: false).chomp
|
139
148
|
end
|
149
|
+
rescue => err
|
150
|
+
UI.verbose("Error getting git default remote branch: #{err.message}")
|
151
|
+
nil
|
140
152
|
end
|
141
153
|
|
142
154
|
private_class_method
|
@@ -147,9 +147,9 @@ module Fastlane
|
|
147
147
|
increment_build_number_if_applicable,
|
148
148
|
"\tbuildApp(#{project_prefix}scheme: \"#{self.scheme}\")"]
|
149
149
|
if include_metadata
|
150
|
-
lane << "\tuploadToAppStore(username: \"#{self.user}\",
|
150
|
+
lane << "\tuploadToAppStore(username: \"#{self.user}\", appIdentifier: \"#{self.app_identifier}\")"
|
151
151
|
else
|
152
|
-
lane << "\tuploadToAppStore(username: \"#{self.user}\",
|
152
|
+
lane << "\tuploadToAppStore(username: \"#{self.user}\", appIdentifier: \"#{self.app_identifier}\", skipScreenshots: true, skipMetadata: true)"
|
153
153
|
end
|
154
154
|
lane << "}"
|
155
155
|
else
|
@@ -219,7 +219,7 @@ module Fastlane
|
|
219
219
|
"\tcaptureScreenshots(#{project_prefix}scheme: \"#{ui_testing_scheme}\")"]
|
220
220
|
|
221
221
|
if automatic_upload
|
222
|
-
lane << "\tuploadToAppStore(username: \"#{self.user}\",
|
222
|
+
lane << "\tuploadToAppStore(username: \"#{self.user}\", appIdentifier: \"#{self.app_identifier}\", skipBinaryUpload: true, skipMetadata: true)"
|
223
223
|
end
|
224
224
|
lane << "}"
|
225
225
|
else
|
@@ -31,7 +31,7 @@ module Fastlane
|
|
31
31
|
|
32
32
|
# rubocop:disable Layout/LineLength
|
33
33
|
# class instance?
|
34
|
-
@reserved_words = %w[associativity break case catch class continue convenience default deinit didSet do else enum extension fallthrough false final for func guard if in infix init inout internal lazy let mutating nil operator override precedence private public repeat required return self static struct subscript super switch throws true try var weak where while willSet].to_set
|
34
|
+
@reserved_words = %w[actor associativity async await break case catch class continue convenience default deinit didSet do else enum extension fallthrough false final for func guard if in infix init inout internal lazy let mutating nil operator override precedence private public repeat required return self static struct subscript super switch throws true try var weak where while willSet].to_set
|
35
35
|
# rubocop:enable Layout/LineLength
|
36
36
|
end
|
37
37
|
|
@@ -195,7 +195,7 @@ module Fastlane
|
|
195
195
|
else
|
196
196
|
if type == "((String) -> Void)?"
|
197
197
|
"#{param}: #{type} = nil"
|
198
|
-
elsif optional && type.end_with?('?') && !type.start_with?('Any')
|
198
|
+
elsif optional && type.end_with?('?') && !type.start_with?('Any') || type.start_with?('Bool')
|
199
199
|
"#{param}: OptionalConfigValue<#{type}> = .fastlaneDefault(#{default_value})"
|
200
200
|
else
|
201
201
|
"#{param}: #{type} = #{default_value}"
|
@@ -286,7 +286,7 @@ module Fastlane
|
|
286
286
|
sanitized_name = sanitize_reserved_word(word: sanitized_name)
|
287
287
|
type_string = type_override == :string_callback ? ".stringClosure" : "nil"
|
288
288
|
|
289
|
-
if !(type_override == :string_callback || !(is_optional && default_value.nil? && !type.start_with?('Any')))
|
289
|
+
if !(type_override == :string_callback || !(is_optional && default_value.nil? && !type.start_with?('Any') || type.start_with?('Bool')))
|
290
290
|
{ name: "#{sanitized_name.gsub('`', '')}Arg", arg: "let #{sanitized_name.gsub('`', '')}Arg = #{sanitized_name}.asRubyArgument(name: \"#{name}\", type: #{type_string})" }
|
291
291
|
else
|
292
292
|
{ name: "#{sanitized_name.gsub('`', '')}Arg", arg: "let #{sanitized_name.gsub('`', '')}Arg = RubyCommand.Argument(name: \"#{name}\", value: #{sanitized_name}, type: #{type_string})" }
|
@@ -434,7 +434,7 @@ module Fastlane
|
|
434
434
|
|
435
435
|
if type == "((String) -> Void)?"
|
436
436
|
"#{param}: #{type} = nil"
|
437
|
-
elsif optional && type.end_with?('?') && !type.start_with?('Any')
|
437
|
+
elsif (optional && type.end_with?('?') && !type.start_with?('Any')) || type.start_with?('Bool')
|
438
438
|
"#{param}: OptionalConfigValue<#{type}> = .fastlaneDefault(#{self.class_name.downcase}.#{static_var_for_parameter_name})"
|
439
439
|
else
|
440
440
|
"#{param}: #{type} = #{self.class_name.downcase}.#{static_var_for_parameter_name}"
|