fastlane 2.183.2 → 2.186.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 +93 -86
- data/cert/lib/cert/runner.rb +3 -7
- data/deliver/lib/deliver/commands_generator.rb +1 -1
- data/deliver/lib/deliver/detect_values.rb +5 -3
- data/deliver/lib/deliver/download_screenshots.rb +1 -1
- data/deliver/lib/deliver/html_generator.rb +2 -2
- data/deliver/lib/deliver/module.rb +6 -0
- data/deliver/lib/deliver/options.rb +36 -51
- data/deliver/lib/deliver/runner.rb +8 -11
- data/deliver/lib/deliver/setup.rb +1 -1
- data/deliver/lib/deliver/submit_for_review.rb +1 -1
- data/deliver/lib/deliver/upload_metadata.rb +20 -6
- data/deliver/lib/deliver/upload_price_tier.rb +1 -1
- data/deliver/lib/deliver/upload_screenshots.rb +1 -1
- data/fastlane/lib/fastlane/actions/adb.rb +1 -4
- 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 +10 -15
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +12 -2
- data/fastlane/lib/fastlane/actions/appetize.rb +0 -7
- 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/apteligent.rb +3 -2
- data/fastlane/lib/fastlane/actions/artifactory.rb +5 -6
- data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +6 -11
- 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 +2 -16
- 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 +5 -1
- 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 +9 -10
- 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/capture_android_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +35 -16
- 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 +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_certificates.rb +5 -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_provisioning_profile.rb +5 -1
- 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 +11 -19
- 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/push_to_git_remote.rb +5 -1
- data/fastlane/lib/fastlane/actions/register_device.rb +7 -10
- data/fastlane/lib/fastlane/actions/register_devices.rb +7 -10
- data/fastlane/lib/fastlane/actions/set_changelog.rb +7 -10
- data/fastlane/lib/fastlane/actions/swiftlint.rb +17 -15
- data/fastlane/lib/fastlane/actions/sync_code_signing.rb +6 -1
- data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +5 -1
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +2 -1
- data/fastlane/lib/fastlane/environment_printer.rb +1 -0
- data/fastlane/lib/fastlane/{actions/.git_commit.rb.swp → helper/.git_helper.rb.swp} +0 -0
- data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +4 -4
- data/fastlane/lib/fastlane/helper/git_helper.rb +24 -7
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -1
- data/fastlane/lib/fastlane/setup/setup_ios.rb +3 -3
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +9 -6
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +20 -20
- data/fastlane/swift/Fastlane.swift +4101 -3656
- 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/OptionalConfigValue.swift +2 -32
- 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 +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +11 -11
- data/fastlane_core/lib/fastlane_core/build_watcher.rb +26 -3
- data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +5 -0
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +18 -3
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +1 -1
- data/fastlane_core/lib/fastlane_core/helper.rb +12 -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 +9 -10
- data/match/lib/match/migrate.rb +2 -3
- data/match/lib/match/nuke.rb +5 -10
- data/match/lib/match/options.rb +1 -0
- data/match/lib/match/runner.rb +2 -3
- 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/pilot/lib/pilot/build_manager.rb +4 -1
- data/pilot/lib/pilot/manager.rb +7 -8
- data/pilot/lib/pilot/options.rb +10 -2
- data/precheck/lib/precheck/runner.rb +8 -7
- data/sigh/lib/assets/resign.sh +81 -61
- data/sigh/lib/sigh/download_all.rb +4 -8
- data/sigh/lib/sigh/runner.rb +4 -8
- data/snapshot/lib/assets/SnapshotHelper.swift +1 -1
- data/snapshot/lib/snapshot/test_command_generator.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/api_client.rb +30 -5
- data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +36 -4
- data/spaceship/lib/spaceship/connect_api/models/app_info.rb +10 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +2 -3
- data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +3 -1
- data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +3 -1
- data/spaceship/lib/spaceship/connect_api/models/build.rb +5 -1
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +13 -0
- data/spaceship/lib/spaceship/connect_api/token.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +4 -2
- data/spaceship/lib/spaceship/spaceauth_runner.rb +19 -6
- metadata +22 -20
@@ -79,22 +79,16 @@ module Fastlane
|
|
79
79
|
env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_BETWEEN',
|
80
80
|
description: 'Array containing two Git revision values between which to collect messages, you mustn\'t use it with :commits_count key at the same time',
|
81
81
|
optional: true,
|
82
|
-
|
82
|
+
type: Array, # allow Array, String both
|
83
83
|
conflicting_options: [:commits_count],
|
84
84
|
verify_block: proc do |value|
|
85
|
-
if value.
|
86
|
-
|
87
|
-
else
|
88
|
-
UI.user_error!(":between must be of type array") unless value.kind_of?(Array)
|
89
|
-
UI.user_error!(":between must not contain nil values") if value.any?(&:nil?)
|
90
|
-
UI.user_error!(":between must be an array of size 2") unless (value || []).size == 2
|
91
|
-
end
|
85
|
+
UI.user_error!(":between must not contain nil values") if value.any?(&:nil?)
|
86
|
+
UI.user_error!(":between must be an array of size 2") unless (value || []).size == 2
|
92
87
|
end),
|
93
88
|
FastlaneCore::ConfigItem.new(key: :commits_count,
|
94
89
|
env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_COUNT',
|
95
90
|
description: 'Number of commits to include in changelog, you mustn\'t use it with :between key at the same time',
|
96
91
|
optional: true,
|
97
|
-
is_string: false,
|
98
92
|
conflicting_options: [:between],
|
99
93
|
type: Integer,
|
100
94
|
verify_block: proc do |value|
|
@@ -109,19 +103,17 @@ module Fastlane
|
|
109
103
|
env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_PRETTY',
|
110
104
|
description: 'The format applied to each commit while generating the collected value',
|
111
105
|
optional: true,
|
112
|
-
default_value: '%B',
|
113
|
-
is_string: true),
|
106
|
+
default_value: '%B'),
|
114
107
|
FastlaneCore::ConfigItem.new(key: :date_format,
|
115
108
|
env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_DATE_FORMAT',
|
116
109
|
description: 'The date format applied to each commit while generating the collected value',
|
117
|
-
optional: true,
|
118
|
-
is_string: true),
|
110
|
+
optional: true),
|
119
111
|
FastlaneCore::ConfigItem.new(key: :ancestry_path,
|
120
112
|
env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_ANCESTRY_PATH',
|
121
113
|
description: 'Whether or not to use ancestry-path param',
|
122
114
|
optional: true,
|
123
115
|
default_value: false,
|
124
|
-
|
116
|
+
type: Boolean),
|
125
117
|
FastlaneCore::ConfigItem.new(key: :tag_match_pattern,
|
126
118
|
env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_TAG_MATCH_PATTERN',
|
127
119
|
description: 'A glob(7) pattern to match against when finding the last git tag',
|
@@ -131,19 +123,18 @@ module Fastlane
|
|
131
123
|
description: 'Whether or not to match a lightweight tag when searching for the last one',
|
132
124
|
optional: true,
|
133
125
|
default_value: true,
|
134
|
-
|
126
|
+
type: Boolean),
|
135
127
|
FastlaneCore::ConfigItem.new(key: :quiet,
|
136
128
|
env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_TAG_QUIET',
|
137
129
|
description: 'Whether or not to disable changelog output',
|
138
130
|
optional: true,
|
139
131
|
default_value: false,
|
140
|
-
|
132
|
+
type: Boolean),
|
141
133
|
FastlaneCore::ConfigItem.new(key: :include_merges,
|
142
134
|
deprecated: "Use `:merge_commit_filtering` instead",
|
143
135
|
env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_INCLUDE_MERGES',
|
144
136
|
description: "Whether or not to include any commits that are merges",
|
145
137
|
optional: true,
|
146
|
-
is_string: false,
|
147
138
|
type: Boolean,
|
148
139
|
verify_block: proc do |value|
|
149
140
|
UI.important("The :include_merges option is deprecated. Please use :merge_commit_filtering instead") unless value.nil?
|
@@ -41,6 +41,7 @@ module Fastlane
|
|
41
41
|
env_name: "CHATWORK_API_TOKEN",
|
42
42
|
description: "ChatWork API Token",
|
43
43
|
sensitive: true,
|
44
|
+
code_gen_sensitive: true,
|
44
45
|
verify_block: proc do |value|
|
45
46
|
unless value.to_s.length > 0
|
46
47
|
UI.error("Please add 'ENV[\"CHATWORK_API_TOKEN\"] = \"your token\"' to your Fastfile's `before_all` section.")
|
@@ -53,13 +54,13 @@ module Fastlane
|
|
53
54
|
FastlaneCore::ConfigItem.new(key: :roomid,
|
54
55
|
env_name: "FL_CHATWORK_ROOMID",
|
55
56
|
description: "The room ID",
|
56
|
-
|
57
|
+
type: Integer),
|
57
58
|
FastlaneCore::ConfigItem.new(key: :success,
|
58
59
|
env_name: "FL_CHATWORK_SUCCESS",
|
59
60
|
description: "Was this build successful? (true/false)",
|
60
61
|
optional: true,
|
61
62
|
default_value: true,
|
62
|
-
|
63
|
+
type: Boolean)
|
63
64
|
]
|
64
65
|
end
|
65
66
|
|
@@ -5,9 +5,13 @@ module Fastlane
|
|
5
5
|
|
6
6
|
class CheckAppStoreMetadataAction < Action
|
7
7
|
def self.run(config)
|
8
|
+
# Only set :api_key from SharedValues if :api_key_path isn't set (conflicting options)
|
9
|
+
unless config[:api_key_path]
|
10
|
+
config[:api_key] ||= Actions.lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
|
11
|
+
end
|
12
|
+
|
8
13
|
require 'precheck'
|
9
14
|
Precheck.config = config
|
10
|
-
Precheck.config[:api_key] ||= Actions.lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
|
11
15
|
return Precheck::Runner.new.run
|
12
16
|
end
|
13
17
|
|
@@ -33,7 +33,6 @@ module Fastlane
|
|
33
33
|
FastlaneCore::ConfigItem.new(key: :exclude_pattern,
|
34
34
|
env_name: "FL_CLEAN_BUILD_ARTIFACTS_EXCLUDE_PATTERN",
|
35
35
|
description: "Exclude all files from clearing that match the given Regex pattern: e.g. '.*\.mobileprovision'",
|
36
|
-
default_value: nil,
|
37
36
|
optional: true)
|
38
37
|
]
|
39
38
|
end
|
@@ -22,7 +22,6 @@ module Fastlane
|
|
22
22
|
env_name: "FL_CLEAN_COCOAPODS_CACHE_DEVELOPMENT",
|
23
23
|
description: "Pod name to be removed from cache",
|
24
24
|
optional: true,
|
25
|
-
is_string: true,
|
26
25
|
verify_block: proc do |value|
|
27
26
|
UI.user_error!("You must specify pod name which should be removed from cache") if value.to_s.empty?
|
28
27
|
end)
|
@@ -38,28 +38,24 @@ module Fastlane
|
|
38
38
|
env_name: "FL_CLOC_BINARY_PATH",
|
39
39
|
description: "Where the cloc binary lives on your system (full path including 'cloc')",
|
40
40
|
optional: true,
|
41
|
-
is_string: true,
|
42
41
|
default_value: '/usr/local/bin/cloc'),
|
43
42
|
FastlaneCore::ConfigItem.new(key: :exclude_dir,
|
44
43
|
env_name: "FL_CLOC_EXCLUDE_DIR",
|
45
|
-
description: "Comma separated list of directories to exclude",
|
46
|
-
optional: true,
|
47
|
-
is_string: true),
|
44
|
+
description: "Comma separated list of directories to exclude",
|
45
|
+
optional: true),
|
48
46
|
FastlaneCore::ConfigItem.new(key: :output_directory,
|
49
47
|
env_name: "FL_CLOC_OUTPUT_DIRECTORY",
|
50
48
|
description: "Where to put the generated report file",
|
51
|
-
is_string: true,
|
52
49
|
default_value: "build"),
|
53
50
|
FastlaneCore::ConfigItem.new(key: :source_directory,
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
default_value: ""),
|
51
|
+
env_name: "FL_CLOC_SOURCE_DIRECTORY",
|
52
|
+
description: "Where to look for the source code (relative to the project root folder)",
|
53
|
+
default_value: ""),
|
58
54
|
FastlaneCore::ConfigItem.new(key: :xml,
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
55
|
+
env_name: "FL_CLOC_XML",
|
56
|
+
description: "Should we generate an XML File (if false, it will generate a plain text file)?",
|
57
|
+
type: Boolean,
|
58
|
+
default_value: true)
|
63
59
|
]
|
64
60
|
end
|
65
61
|
|
@@ -72,66 +72,60 @@ module Fastlane
|
|
72
72
|
FastlaneCore::ConfigItem.new(key: :repo_update,
|
73
73
|
env_name: "FL_COCOAPODS_REPO_UPDATE",
|
74
74
|
description: "Add `--repo-update` flag to `pod install` command",
|
75
|
-
|
75
|
+
type: Boolean,
|
76
76
|
default_value: false),
|
77
77
|
FastlaneCore::ConfigItem.new(key: :clean_install,
|
78
78
|
env_name: "FL_COCOAPODS_CLEAN_INSTALL",
|
79
79
|
description: "Execute a full pod installation ignoring the content of the project cache",
|
80
|
-
|
80
|
+
type: Boolean,
|
81
81
|
default_value: false),
|
82
82
|
FastlaneCore::ConfigItem.new(key: :silent,
|
83
83
|
env_name: "FL_COCOAPODS_SILENT",
|
84
84
|
description: "Execute command without logging output",
|
85
|
-
|
85
|
+
type: Boolean,
|
86
86
|
default_value: false),
|
87
87
|
FastlaneCore::ConfigItem.new(key: :verbose,
|
88
88
|
env_name: "FL_COCOAPODS_VERBOSE",
|
89
89
|
description: "Show more debugging information",
|
90
|
-
|
90
|
+
type: Boolean,
|
91
91
|
default_value: false),
|
92
92
|
FastlaneCore::ConfigItem.new(key: :ansi,
|
93
93
|
env_name: "FL_COCOAPODS_ANSI",
|
94
94
|
description: "Show output with ANSI codes",
|
95
|
-
|
95
|
+
type: Boolean,
|
96
96
|
default_value: true),
|
97
97
|
FastlaneCore::ConfigItem.new(key: :use_bundle_exec,
|
98
98
|
env_name: "FL_COCOAPODS_USE_BUNDLE_EXEC",
|
99
99
|
description: "Use bundle exec when there is a Gemfile presented",
|
100
|
-
|
100
|
+
type: Boolean,
|
101
101
|
default_value: true),
|
102
102
|
FastlaneCore::ConfigItem.new(key: :podfile,
|
103
103
|
env_name: "FL_COCOAPODS_PODFILE",
|
104
104
|
description: "Explicitly specify the path to the Cocoapods' Podfile. You can either set it to the Podfile's path or to the folder containing the Podfile file",
|
105
105
|
optional: true,
|
106
|
-
is_string: true,
|
107
106
|
verify_block: proc do |value|
|
108
107
|
UI.user_error!("Could not find Podfile") unless File.exist?(value) || Helper.test?
|
109
108
|
end),
|
110
109
|
FastlaneCore::ConfigItem.new(key: :error_callback,
|
111
110
|
description: 'A callback invoked with the command output if there is a non-zero exit status',
|
112
111
|
optional: true,
|
113
|
-
|
114
|
-
type: :string_callback,
|
115
|
-
default_value: nil),
|
112
|
+
type: :string_callback),
|
116
113
|
FastlaneCore::ConfigItem.new(key: :try_repo_update_on_error,
|
117
114
|
env_name: "FL_COCOAPODS_TRY_REPO_UPDATE_ON_ERROR",
|
118
115
|
description: 'Retry with --repo-update if action was finished with error',
|
119
116
|
optional: true,
|
120
|
-
is_string: false,
|
121
117
|
default_value: false,
|
122
118
|
type: Boolean),
|
123
119
|
FastlaneCore::ConfigItem.new(key: :deployment,
|
124
120
|
env_name: "FL_COCOAPODS_DEPLOYMENT",
|
125
121
|
description: 'Disallow any changes to the Podfile or the Podfile.lock during installation',
|
126
122
|
optional: true,
|
127
|
-
is_string: false,
|
128
123
|
default_value: false,
|
129
124
|
type: Boolean),
|
130
125
|
FastlaneCore::ConfigItem.new(key: :allow_root,
|
131
126
|
env_name: "FL_COCOAPODS_ALLOW_ROOT",
|
132
127
|
description: 'Allows CocoaPods to run as root',
|
133
128
|
optional: true,
|
134
|
-
is_string: false,
|
135
129
|
default_value: false,
|
136
130
|
type: Boolean),
|
137
131
|
|
@@ -140,13 +134,13 @@ module Fastlane
|
|
140
134
|
env_name: "FL_COCOAPODS_CLEAN",
|
141
135
|
description: "(Option renamed as clean_install) Remove SCM directories",
|
142
136
|
deprecated: true,
|
143
|
-
|
137
|
+
type: Boolean,
|
144
138
|
default_value: true),
|
145
139
|
FastlaneCore::ConfigItem.new(key: :integrate,
|
146
140
|
env_name: "FL_COCOAPODS_INTEGRATE",
|
147
141
|
description: "(Option removed from cocoapods) Integrate the Pods libraries into the Xcode project(s)",
|
148
142
|
deprecated: true,
|
149
|
-
|
143
|
+
type: Boolean,
|
150
144
|
default_value: true)
|
151
145
|
]
|
152
146
|
# Please don't add a version parameter to the `cocoapods` action. If you need to specify a version when running
|
@@ -107,7 +107,6 @@ module Fastlane
|
|
107
107
|
description: "Personal API Token for GitHub - generate one at https://github.com/settings/tokens",
|
108
108
|
conflicting_options: [:api_bearer],
|
109
109
|
sensitive: true,
|
110
|
-
is_string: true,
|
111
110
|
code_gen_sensitive: true,
|
112
111
|
default_value: ENV["GITHUB_API_TOKEN"],
|
113
112
|
default_value_dynamic: true,
|
@@ -129,7 +128,6 @@ module Fastlane
|
|
129
128
|
env_name: 'FL_COMMIT_GITHUB_FILE_PATH',
|
130
129
|
description: 'The relative path to your file from project root e.g. assets/my_app.xcarchive',
|
131
130
|
optional: false,
|
132
|
-
is_string: true,
|
133
131
|
verify_block: proc do |value|
|
134
132
|
value = File.expand_path(value)
|
135
133
|
UI.user_error!("File not found at path '#{value}'") unless File.exist?(value)
|
@@ -142,7 +140,7 @@ module Fastlane
|
|
142
140
|
FastlaneCore::ConfigItem.new(key: :secure,
|
143
141
|
env_name: "FL_COMMIT_GITHUB_FILE_SECURE",
|
144
142
|
description: "Optionally disable secure requests (ssl_verify_peer)",
|
145
|
-
|
143
|
+
type: Boolean,
|
146
144
|
default_value: true,
|
147
145
|
optional: true)
|
148
146
|
]
|
@@ -164,20 +164,19 @@ module Fastlane
|
|
164
164
|
FastlaneCore::ConfigItem.new(key: :force,
|
165
165
|
env_name: "FL_FORCE_COMMIT",
|
166
166
|
description: "Forces the commit, even if other files than the ones containing the version number have been modified",
|
167
|
+
type: Boolean,
|
167
168
|
optional: true,
|
168
|
-
default_value: false,
|
169
|
-
is_string: false),
|
169
|
+
default_value: false),
|
170
170
|
FastlaneCore::ConfigItem.new(key: :settings,
|
171
171
|
env_name: "FL_COMMIT_INCLUDE_SETTINGS",
|
172
172
|
description: "Include Settings.bundle/Root.plist with version bump",
|
173
|
+
skip_type_validation: true, # allows Boolean, String, Array
|
173
174
|
optional: true,
|
174
|
-
default_value: false,
|
175
|
-
is_string: false),
|
175
|
+
default_value: false),
|
176
176
|
FastlaneCore::ConfigItem.new(key: :ignore,
|
177
177
|
description: "A regular expression used to filter matched plist files to be modified",
|
178
|
-
|
179
|
-
|
180
|
-
is_string: false),
|
178
|
+
skip_type_validation: true, # allows Regex
|
179
|
+
optional: true),
|
181
180
|
FastlaneCore::ConfigItem.new(key: :include,
|
182
181
|
description: "A list of extra files to be included in the version bump (string array or comma-separated string)",
|
183
182
|
optional: true,
|
@@ -57,22 +57,21 @@ module Fastlane
|
|
57
57
|
[
|
58
58
|
FastlaneCore::ConfigItem.new(key: :keep_original,
|
59
59
|
description: "Set this to false if you want move, rather than copy, the found artifacts",
|
60
|
-
|
60
|
+
type: Boolean,
|
61
61
|
optional: true,
|
62
62
|
default_value: true),
|
63
63
|
FastlaneCore::ConfigItem.new(key: :target_path,
|
64
64
|
description: "The directory in which you want your artifacts placed",
|
65
|
-
is_string: false,
|
66
65
|
optional: false,
|
67
66
|
default_value: 'artifacts'),
|
68
67
|
FastlaneCore::ConfigItem.new(key: :artifacts,
|
69
68
|
description: "An array of file patterns of the files/folders you want to preserve",
|
70
|
-
|
69
|
+
type: Array,
|
71
70
|
optional: false,
|
72
71
|
default_value: []),
|
73
72
|
FastlaneCore::ConfigItem.new(key: :fail_on_missing,
|
74
73
|
description: "Fail when a source file isn't found",
|
75
|
-
|
74
|
+
type: Boolean,
|
76
75
|
optional: true,
|
77
76
|
default_value: false)
|
78
77
|
]
|
@@ -2,9 +2,6 @@ module Fastlane
|
|
2
2
|
module Actions
|
3
3
|
class CrashlyticsAction < Action
|
4
4
|
def self.run(params)
|
5
|
-
params[:groups] = params[:groups].join(",") if params[:groups].kind_of?(Array)
|
6
|
-
params[:emails] = params[:emails].join(",") if params[:emails].kind_of?(Array)
|
7
|
-
|
8
5
|
params.values # to validate all inputs before looking for the ipa/apk
|
9
6
|
tempfiles = []
|
10
7
|
|
@@ -133,28 +130,27 @@ module Fastlane
|
|
133
130
|
FastlaneCore::ConfigItem.new(key: :notes,
|
134
131
|
env_name: "CRASHLYTICS_NOTES",
|
135
132
|
description: "The release notes as string - uses :notes_path under the hood",
|
136
|
-
optional: true,
|
137
|
-
is_string: true),
|
133
|
+
optional: true),
|
138
134
|
FastlaneCore::ConfigItem.new(key: :groups,
|
139
135
|
env_name: "CRASHLYTICS_GROUPS",
|
140
136
|
description: "The groups used for distribution, separated by commas",
|
141
|
-
|
142
|
-
|
137
|
+
type: Array,
|
138
|
+
optional: true),
|
143
139
|
FastlaneCore::ConfigItem.new(key: :emails,
|
144
140
|
env_name: "CRASHLYTICS_EMAILS",
|
145
141
|
description: "Pass email addresses of testers, separated by commas",
|
146
|
-
|
147
|
-
|
142
|
+
type: Array,
|
143
|
+
optional: true),
|
148
144
|
FastlaneCore::ConfigItem.new(key: :notifications,
|
149
145
|
env_name: "CRASHLYTICS_NOTIFICATIONS",
|
150
146
|
description: "Crashlytics notification option (true/false)",
|
151
147
|
default_value: true,
|
152
|
-
|
148
|
+
type: Boolean),
|
153
149
|
FastlaneCore::ConfigItem.new(key: :debug,
|
154
150
|
env_name: "CRASHLYTICS_DEBUG",
|
155
151
|
description: "Crashlytics debug option (true/false)",
|
156
152
|
default_value: false,
|
157
|
-
|
153
|
+
type: Boolean)
|
158
154
|
|
159
155
|
]
|
160
156
|
end
|
@@ -52,91 +52,85 @@ module Fastlane
|
|
52
52
|
def self.available_options
|
53
53
|
[
|
54
54
|
# Authorization
|
55
|
-
FastlaneCore::ConfigItem.new(
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
UI.user_error!("Could not parse service account json: JSON::ParseError")
|
85
|
-
end
|
86
|
-
end
|
87
|
-
),
|
55
|
+
FastlaneCore::ConfigItem.new(key: :json_key,
|
56
|
+
env_name: "SUPPLY_JSON_KEY",
|
57
|
+
short_option: "-j",
|
58
|
+
conflicting_options: [:json_key_data],
|
59
|
+
optional: true, # optional until it is possible specify either json_key OR json_key_data are required
|
60
|
+
description: "The path to a file containing service account JSON, used to authenticate with Google",
|
61
|
+
code_gen_sensitive: true,
|
62
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_file),
|
63
|
+
default_value_dynamic: true,
|
64
|
+
verify_block: proc do |value|
|
65
|
+
UI.user_error!("Could not find service account json file at path '#{File.expand_path(value)}'") unless File.exist?(File.expand_path(value))
|
66
|
+
UI.user_error!("'#{value}' doesn't seem to be a JSON file") unless FastlaneCore::Helper.json_file?(File.expand_path(value))
|
67
|
+
end),
|
68
|
+
FastlaneCore::ConfigItem.new(key: :json_key_data,
|
69
|
+
env_name: "SUPPLY_JSON_KEY_DATA",
|
70
|
+
short_option: "-c",
|
71
|
+
conflicting_options: [:json_key],
|
72
|
+
optional: true,
|
73
|
+
description: "The raw service account JSON data used to authenticate with Google",
|
74
|
+
code_gen_sensitive: true,
|
75
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_data_raw),
|
76
|
+
default_value_dynamic: true,
|
77
|
+
verify_block: proc do |value|
|
78
|
+
begin
|
79
|
+
JSON.parse(value)
|
80
|
+
rescue JSON::ParserError
|
81
|
+
UI.user_error!("Could not parse service account json: JSON::ParseError")
|
82
|
+
end
|
83
|
+
end),
|
88
84
|
FastlaneCore::ConfigItem.new(key: :developer_account_id,
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
85
|
+
short_option: "-k",
|
86
|
+
env_name: "SUPPLY_DEVELOPER_ACCOUNT_ID",
|
87
|
+
description: "The ID of your Google Play Console account. Can be obtained from the URL when you log in (`https://play.google.com/apps/publish/?account=...` or when you 'Obtain private app publishing rights' (https://developers.google.com/android/work/play/custom-app-api/get-started#retrieve_the_developer_account_id)",
|
88
|
+
code_gen_sensitive: true,
|
89
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:developer_account_id),
|
90
|
+
default_value_dynamic: true),
|
95
91
|
# APK
|
96
|
-
FastlaneCore::ConfigItem.new(
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
end
|
109
|
-
),
|
92
|
+
FastlaneCore::ConfigItem.new(key: :apk,
|
93
|
+
env_name: "SUPPLY_APK",
|
94
|
+
description: "Path to the APK file to upload",
|
95
|
+
short_option: "-b",
|
96
|
+
code_gen_sensitive: true,
|
97
|
+
default_value: Dir["*.apk"].last || Dir[File.join("app", "build", "outputs", "apk", "app-release.apk")].last,
|
98
|
+
default_value_dynamic: true,
|
99
|
+
verify_block: proc do |value|
|
100
|
+
UI.user_error!("No value found for 'apk'") if value.to_s.length == 0
|
101
|
+
UI.user_error!("Could not find apk file at path '#{value}'") unless File.exist?(value)
|
102
|
+
UI.user_error!("apk file is not an apk") unless value.end_with?('.apk')
|
103
|
+
end),
|
110
104
|
# Title
|
111
105
|
FastlaneCore::ConfigItem.new(key: :app_title,
|
112
|
-
|
113
|
-
|
114
|
-
|
106
|
+
env_name: "SUPPLY_APP_TITLE",
|
107
|
+
short_option: "-q",
|
108
|
+
description: "App Title"),
|
115
109
|
# Language
|
116
110
|
FastlaneCore::ConfigItem.new(key: :language,
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
111
|
+
short_option: "-m",
|
112
|
+
env_name: "SUPPLY_LANGUAGE",
|
113
|
+
description: "Default app language (e.g. 'en_US')",
|
114
|
+
default_value: "en_US",
|
115
|
+
verify_block: proc do |language|
|
116
|
+
unless Supply::Languages::ALL_LANGUAGES.include?(language)
|
117
|
+
UI.user_error!("Please enter one of the available languages: #{Supply::Languages::ALL_LANGUAGES}")
|
118
|
+
end
|
119
|
+
end),
|
126
120
|
# Google Play API
|
127
121
|
FastlaneCore::ConfigItem.new(key: :root_url,
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
122
|
+
env_name: "SUPPLY_ROOT_URL",
|
123
|
+
description: "Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/",
|
124
|
+
optional: true,
|
125
|
+
verify_block: proc do |value|
|
126
|
+
UI.user_error!("Could not parse URL '#{value}'") unless value =~ URI.regexp
|
127
|
+
end),
|
134
128
|
FastlaneCore::ConfigItem.new(key: :timeout,
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
129
|
+
env_name: "SUPPLY_TIMEOUT",
|
130
|
+
optional: true,
|
131
|
+
description: "Timeout for read, open, and send (in seconds)",
|
132
|
+
type: Integer,
|
133
|
+
default_value: 300)
|
140
134
|
]
|
141
135
|
end
|
142
136
|
|