fastlane 2.186.0 → 2.190.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +86 -86
  3. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +1 -1
  4. data/fastlane/lib/fastlane/actions/appledoc.rb +45 -45
  5. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +1 -2
  6. data/fastlane/lib/fastlane/actions/bundle_install.rb +13 -1
  7. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +25 -1
  8. data/fastlane/lib/fastlane/actions/create_keychain.rb +5 -2
  9. data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
  10. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +27 -28
  11. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +2 -2
  12. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
  13. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +2 -2
  14. data/fastlane/lib/fastlane/actions/gradle.rb +1 -1
  15. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +3 -4
  16. data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
  17. data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
  18. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
  19. data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
  20. data/fastlane/lib/fastlane/actions/nexus_upload.rb +2 -2
  21. data/fastlane/lib/fastlane/actions/notarize.rb +1 -4
  22. data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
  23. data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
  24. data/fastlane/lib/fastlane/actions/pod_push.rb +0 -2
  25. data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
  26. data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
  27. data/fastlane/lib/fastlane/actions/push_git_tags.rb +1 -1
  28. data/fastlane/lib/fastlane/actions/puts.rb +1 -2
  29. data/fastlane/lib/fastlane/actions/register_devices.rb +0 -1
  30. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
  31. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
  32. data/fastlane/lib/fastlane/actions/resign.rb +2 -9
  33. data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
  34. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
  35. data/fastlane/lib/fastlane/actions/s3.rb +1 -1
  36. data/fastlane/lib/fastlane/actions/say.rb +2 -3
  37. data/fastlane/lib/fastlane/actions/scp.rb +4 -10
  38. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
  39. data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
  40. data/fastlane/lib/fastlane/actions/set_github_release.rb +2 -8
  41. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
  42. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
  43. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
  44. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
  45. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
  46. data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
  47. data/fastlane/lib/fastlane/actions/sh.rb +2 -4
  48. data/fastlane/lib/fastlane/actions/slack.rb +6 -8
  49. data/fastlane/lib/fastlane/actions/slather.rb +3 -19
  50. data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
  51. data/fastlane/lib/fastlane/actions/sourcedocs.rb +62 -98
  52. data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
  53. data/fastlane/lib/fastlane/actions/spm.rb +3 -3
  54. data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
  55. data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
  56. data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
  57. data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
  58. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
  59. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
  60. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
  61. data/fastlane/lib/fastlane/actions/update_fastlane.rb +2 -2
  62. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
  63. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  64. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
  65. data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
  66. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +2 -2
  67. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
  68. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
  69. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +1 -2
  70. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
  71. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
  72. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
  73. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
  74. data/fastlane/lib/fastlane/actions/zip.rb +86 -22
  75. data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
  76. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +1 -1
  77. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
  78. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
  79. data/fastlane/lib/fastlane/version.rb +1 -1
  80. data/fastlane/swift/Deliverfile.swift +1 -1
  81. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  82. data/fastlane/swift/Fastlane.swift +152 -102
  83. data/fastlane/swift/Gymfile.swift +1 -1
  84. data/fastlane/swift/GymfileProtocol.swift +1 -1
  85. data/fastlane/swift/Matchfile.swift +1 -1
  86. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  87. data/fastlane/swift/Precheckfile.swift +1 -1
  88. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  89. data/fastlane/swift/Scanfile.swift +1 -1
  90. data/fastlane/swift/ScanfileProtocol.swift +5 -1
  91. data/fastlane/swift/Screengrabfile.swift +1 -1
  92. data/fastlane/swift/ScreengrabfileProtocol.swift +4 -4
  93. data/fastlane/swift/Snapshotfile.swift +1 -1
  94. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  95. data/fastlane/swift/formatting/Brewfile.lock.json +19 -11
  96. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +11 -4
  97. data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +1 -0
  98. data/pilot/lib/pilot.rb +0 -1
  99. data/precheck/lib/precheck/module.rb +2 -0
  100. data/precheck/lib/precheck/options.rb +3 -3
  101. data/produce/lib/produce/commands_generator.rb +99 -27
  102. data/produce/lib/produce/developer_center.rb +42 -4
  103. data/produce/lib/produce/options.rb +1 -1
  104. data/produce/lib/produce/service.rb +270 -179
  105. data/scan/lib/scan/detect_values.rb +22 -13
  106. data/scan/lib/scan/module.rb +1 -0
  107. data/scan/lib/scan/options.rb +12 -1
  108. data/scan/lib/scan/test_command_generator.rb +29 -6
  109. data/scan/lib/scan/xcpretty_reporter_options_generator.rb +1 -1
  110. data/screengrab/lib/screengrab/android_environment.rb +2 -52
  111. data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
  112. data/screengrab/lib/screengrab/options.rb +5 -2
  113. data/screengrab/lib/screengrab/runner.rb +109 -107
  114. data/sigh/lib/sigh/options.rb +2 -1
  115. data/snapshot/lib/assets/SnapfileTemplate +2 -1
  116. data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
  117. data/snapshot/lib/assets/SnapshotHelper.swift +14 -10
  118. data/snapshot/lib/snapshot/reports_generator.rb +3 -1
  119. data/snapshot/lib/snapshot/test_command_generator.rb +16 -2
  120. data/spaceship/lib/spaceship/client.rb +19 -3
  121. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +8 -0
  122. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +58 -17
  123. data/spaceship/lib/spaceship/connect_api/models/user.rb +17 -3
  124. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +26 -5
  125. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +41 -1
  126. data/spaceship/lib/spaceship/connect_api/testflight/client.rb +3 -0
  127. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +39 -0
  128. data/spaceship/lib/spaceship/connect_api/token.rb +2 -1
  129. data/spaceship/lib/spaceship/connect_api/tunes/client.rb +3 -0
  130. data/spaceship/lib/spaceship/connect_api/users/client.rb +3 -0
  131. data/spaceship/lib/spaceship/connect_api/users/users.rb +24 -2
  132. data/spaceship/lib/spaceship/tunes/tunes_client.rb +3 -0
  133. data/supply/lib/supply/client.rb +7 -1
  134. data/supply/lib/supply/options.rb +5 -0
  135. metadata +25 -31
  136. data/fastlane/lib/fastlane/.erb_template_helper.rb.swp +0 -0
  137. data/fastlane/lib/fastlane/helper/.git_helper.rb.swp +0 -0
  138. data/gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp +0 -0
  139. data/pilot/lib/pilot/features.rb +0 -0
  140. data/spaceship/lib/spaceship/.DS_Store +0 -0
  141. data/spaceship/lib/spaceship/connect_api/models/.app_store_version_submission.rb.swp +0 -0
@@ -48,7 +48,7 @@ module Fastlane
48
48
  FastlaneCore::ConfigItem.new(key: :enable_code_coverage,
49
49
  env_name: "FL_SPM_ENABLE_CODE_COVERAGE",
50
50
  description: "Enables code coverage for the generated Xcode project when using the 'generate-xcodeproj' and the 'test' command",
51
- is_string: false,
51
+ type: Boolean,
52
52
  optional: true),
53
53
  FastlaneCore::ConfigItem.new(key: :build_path,
54
54
  env_name: "FL_SPM_BUILD_PATH",
@@ -74,7 +74,7 @@ module Fastlane
74
74
  env_name: "FL_SPM_DISABLE_SANDBOX",
75
75
  description: "Disable using the sandbox when executing subprocesses",
76
76
  optional: true,
77
- is_string: false,
77
+ type: Boolean,
78
78
  default_value: false),
79
79
  FastlaneCore::ConfigItem.new(key: :xcpretty_output,
80
80
  env_name: "FL_SPM_XCPRETTY_OUTPUT",
@@ -92,7 +92,7 @@ module Fastlane
92
92
  short_option: "-v",
93
93
  env_name: "FL_SPM_VERBOSE",
94
94
  description: "Increase verbosity of informational output",
95
- is_string: false,
95
+ type: Boolean,
96
96
  default_value: false)
97
97
  ]
98
98
  end
@@ -88,33 +88,28 @@ module Fastlane
88
88
  FastlaneCore::ConfigItem.new(key: :username,
89
89
  short_option: "-u",
90
90
  env_name: "FL_SSH_USERNAME",
91
- description: "Username",
92
- is_string: true),
91
+ description: "Username"),
93
92
  FastlaneCore::ConfigItem.new(key: :password,
94
93
  short_option: "-p",
95
94
  env_name: "FL_SSH_PASSWORD",
96
95
  sensitive: true,
97
96
  description: "Password",
98
- optional: true,
99
- is_string: true),
97
+ optional: true),
100
98
  FastlaneCore::ConfigItem.new(key: :host,
101
99
  short_option: "-H",
102
100
  env_name: "FL_SSH_HOST",
103
- description: "Hostname",
104
- is_string: true),
101
+ description: "Hostname"),
105
102
  FastlaneCore::ConfigItem.new(key: :port,
106
103
  short_option: "-P",
107
104
  env_name: "FL_SSH_PORT",
108
105
  description: "Port",
109
106
  optional: true,
110
- default_value: "22",
111
- is_string: true),
107
+ default_value: "22"),
112
108
  FastlaneCore::ConfigItem.new(key: :commands,
113
109
  short_option: "-C",
114
110
  env_name: "FL_SSH_COMMANDS",
115
111
  description: "Commands",
116
112
  optional: true,
117
- is_string: false,
118
113
  type: Array),
119
114
  FastlaneCore::ConfigItem.new(key: :log,
120
115
  short_option: "-l",
@@ -122,7 +117,7 @@ module Fastlane
122
117
  description: "Log commands and output",
123
118
  optional: true,
124
119
  default_value: true,
125
- is_string: false)
120
+ type: Boolean)
126
121
  ]
127
122
  end
128
123
 
@@ -192,7 +192,6 @@ module Fastlane
192
192
  env_name: "FL_TESTFAIRY_UPLOAD_URL", # The name of the environment variable
193
193
  description: "API URL for TestFairy", # a short description of this parameter
194
194
  default_value: "https://upload.testfairy.com",
195
- is_string: true,
196
195
  optional: true),
197
196
  FastlaneCore::ConfigItem.new(key: :testers_groups,
198
197
  optional: true,
@@ -91,7 +91,6 @@ module Fastlane
91
91
  FastlaneCore::ConfigItem.new(key: :notes,
92
92
  env_name: "TRYOUTS_NOTES",
93
93
  description: "Release notes",
94
- is_string: true,
95
94
  optional: true),
96
95
  FastlaneCore::ConfigItem.new(key: :notes_path,
97
96
  env_name: "TRYOUTS_NOTES_PATH",
@@ -103,7 +102,7 @@ module Fastlane
103
102
  FastlaneCore::ConfigItem.new(key: :notify,
104
103
  env_name: "TRYOUTS_NOTIFY",
105
104
  description: "Notify testers? 0 for no",
106
- is_string: false,
105
+ type: Integer,
107
106
  default_value: 1),
108
107
  FastlaneCore::ConfigItem.new(key: :status,
109
108
  env_name: "TRYOUTS_STATUS",
@@ -112,7 +111,7 @@ module Fastlane
112
111
  available_options = ["1", "2"]
113
112
  UI.user_error!("'#{value}' is not a valid 'status' value. Available options are #{available_options.join(', ')}") unless available_options.include?(value.to_s)
114
113
  end,
115
- is_string: false,
114
+ type: Integer,
116
115
  default_value: 2)
117
116
  ]
118
117
  end
@@ -32,30 +32,25 @@ module Fastlane
32
32
  env_name: "FL_TW_CONSUMER_KEY",
33
33
  description: "Consumer Key",
34
34
  sensitive: true,
35
- is_string: true,
36
35
  optional: false),
37
36
  FastlaneCore::ConfigItem.new(key: :consumer_secret,
38
37
  env_name: "FL_TW_CONSUMER_SECRET",
39
38
  sensitive: true,
40
39
  description: "Consumer Secret",
41
- is_string: true,
42
40
  optional: false),
43
41
  FastlaneCore::ConfigItem.new(key: :access_token,
44
42
  env_name: "FL_TW_ACCESS_TOKEN",
45
43
  sensitive: true,
46
44
  description: "Access Token",
47
- is_string: true,
48
45
  optional: false),
49
46
  FastlaneCore::ConfigItem.new(key: :access_token_secret,
50
47
  env_name: "FL_TW_ACCESS_TOKEN_SECRET",
51
48
  sensitive: true,
52
49
  description: "Access Token Secret",
53
- is_string: true,
54
50
  optional: false),
55
51
  FastlaneCore::ConfigItem.new(key: :message,
56
52
  env_name: "FL_TW_MESSAGE",
57
53
  description: "The tweet",
58
- is_string: true,
59
54
  optional: false)
60
55
 
61
56
  ]
@@ -81,13 +81,13 @@ module Fastlane
81
81
  optional: false),
82
82
  FastlaneCore::ConfigItem.new(key: :add_to_search_list,
83
83
  env_name: "FL_UNLOCK_KEYCHAIN_ADD_TO_SEARCH_LIST",
84
- description: "Add to keychain search list",
85
- is_string: false,
84
+ description: "Add to keychain search list, valid values are true, false, :add, and :replace",
85
+ skip_type_validation: true, # allow Boolean, Symbol
86
86
  default_value: true),
87
87
  FastlaneCore::ConfigItem.new(key: :set_default,
88
88
  env_name: "FL_UNLOCK_KEYCHAIN_SET_DEFAULT",
89
89
  description: "Set as default keychain",
90
- is_string: false,
90
+ type: Boolean,
91
91
  default_value: false)
92
92
 
93
93
  ]
@@ -53,10 +53,7 @@ module Fastlane
53
53
  FastlaneCore::ConfigItem.new(key: :app_group_identifiers,
54
54
  env_name: "FL_UPDATE_APP_GROUP_IDENTIFIER_APP_GROUP_IDENTIFIERS",
55
55
  description: "An Array of unique identifiers for the app groups. Eg. ['group.com.test.testapp']",
56
- is_string: false,
57
- verify_block: proc do |value|
58
- UI.user_error!("The parameter app_group_identifiers need to be an Array.") unless value.kind_of?(Array)
59
- end)
56
+ type: Array)
60
57
  ]
61
58
  end
62
59
 
@@ -123,45 +123,38 @@ module Fastlane
123
123
  FastlaneCore::ConfigItem.new(key: :use_automatic_signing,
124
124
  env_name: "FL_PROJECT_USE_AUTOMATIC_SIGNING",
125
125
  description: "Defines if project should use automatic signing",
126
- is_string: false,
126
+ type: Boolean,
127
127
  default_value: false),
128
128
  FastlaneCore::ConfigItem.new(key: :team_id,
129
129
  env_name: "FASTLANE_TEAM_ID",
130
130
  optional: true,
131
- description: "Team ID, is used when upgrading project",
132
- is_string: true),
131
+ description: "Team ID, is used when upgrading project"),
133
132
  FastlaneCore::ConfigItem.new(key: :targets,
134
133
  env_name: "FL_PROJECT_SIGNING_TARGETS",
135
134
  optional: true,
136
135
  type: Array,
137
- description: "Specify targets you want to toggle the signing mech. (default to all targets)",
138
- is_string: false),
136
+ description: "Specify targets you want to toggle the signing mech. (default to all targets)"),
139
137
  FastlaneCore::ConfigItem.new(key: :build_configurations,
140
138
  env_name: "FL_PROJECT_SIGNING_BUILD_CONFIGURATIONS",
141
139
  optional: true,
142
140
  type: Array,
143
- description: "Specify build_configurations you want to toggle the signing mech. (default to all configurations)",
144
- is_string: false),
141
+ description: "Specify build_configurations you want to toggle the signing mech. (default to all configurations)"),
145
142
  FastlaneCore::ConfigItem.new(key: :code_sign_identity,
146
143
  env_name: "FL_CODE_SIGN_IDENTITY",
147
144
  description: "Code signing identity type (iPhone Developer, iPhone Distribution)",
148
- optional: true,
149
- is_string: true),
145
+ optional: true),
150
146
  FastlaneCore::ConfigItem.new(key: :profile_name,
151
147
  env_name: "FL_PROVISIONING_PROFILE_SPECIFIER",
152
148
  description: "Provisioning profile name to use for code signing",
153
- optional: true,
154
- is_string: true),
149
+ optional: true),
155
150
  FastlaneCore::ConfigItem.new(key: :profile_uuid,
156
151
  env_name: "FL_PROVISIONING_PROFILE",
157
152
  description: "Provisioning profile UUID to use for code signing",
158
- optional: true,
159
- is_string: true),
153
+ optional: true),
160
154
  FastlaneCore::ConfigItem.new(key: :bundle_identifier,
161
155
  env_name: "FL_APP_IDENTIFIER",
162
156
  description: "Application Product Bundle Identifier",
163
- optional: true,
164
- is_string: true)
157
+ optional: true)
165
158
  ]
166
159
  end
167
160
 
@@ -122,12 +122,12 @@ module Fastlane
122
122
  FastlaneCore::ConfigItem.new(key: :no_update,
123
123
  env_name: "FL_NO_UPDATE",
124
124
  description: "Don't update during this run. This is used internally",
125
- is_string: false,
125
+ type: Boolean,
126
126
  default_value: false),
127
127
  FastlaneCore::ConfigItem.new(key: :nightly,
128
128
  env_name: "FL_UPDATE_FASTLANE_NIGHTLY",
129
129
  description: "Opt-in to install and use nightly fastlane builds",
130
- is_string: false,
130
+ type: Boolean,
131
131
  default_value: false,
132
132
  deprecated: "Nightly builds are no longer being made available")
133
133
  ]
@@ -61,10 +61,7 @@ module Fastlane
61
61
  FastlaneCore::ConfigItem.new(key: :icloud_container_identifiers,
62
62
  env_name: "FL_UPDATE_ICLOUD_CONTAINER_IDENTIFIERS_IDENTIFIERS",
63
63
  description: "An Array of unique identifiers for the iCloud containers. Eg. ['iCloud.com.test.testapp']",
64
- is_string: false,
65
- verify_block: proc do |value|
66
- UI.user_error!("The parameter icloud_container_identifiers needs to be an Array.") unless value.kind_of?(Array)
67
- end)
64
+ type: Array)
68
65
  ]
69
66
  end
70
67
 
@@ -98,7 +98,7 @@ module Fastlane
98
98
  description: 'The Display Name of your app',
99
99
  optional: true),
100
100
  FastlaneCore::ConfigItem.new(key: :block,
101
- is_string: false,
101
+ type: :string_callback,
102
102
  description: 'A block to process plist with custom logic',
103
103
  optional: true)
104
104
 
@@ -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
- is_string: false,
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
 
@@ -50,7 +50,7 @@ module Fastlane
50
50
  description: "Path to plist file",
51
51
  optional: true),
52
52
  FastlaneCore::ConfigItem.new(key: :block,
53
- is_string: false,
53
+ type: :string_callback,
54
54
  description: 'A block to process plist with custom logic')
55
55
 
56
56
  ]
@@ -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
- is_string: false,
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
- is_string: false,
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
- key: :path,
56
- env_name: 'FL_UPDATE_URL_SCHEMES_PATH',
57
- description: 'The Plist file\'s path',
58
- is_string: true,
59
- optional: false,
60
- verify_block: proc do |path|
61
- UI.user_error!("Could not find plist at path '#{path}'") unless File.exist?(path)
62
- end
63
- ),
64
-
65
- FastlaneCore::ConfigItem.new(
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
- description: "Block that is called to update schemes with current schemes passed in as parameter",
79
- optional: true,
80
- is_string: false)
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
- is_string: false, # as we also allow integers, which we convert to strings anyway
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
- is_string: false,
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
- key: :json_key,
47
- env_name: "SUPPLY_JSON_KEY",
48
- short_option: "-j",
49
- conflicting_options: [:json_key_data],
50
- optional: true, # this shouldn't be optional but is until I find out how json_key OR json_key_data can be required
51
- description: "The path to a file containing service account JSON, used to authenticate with Google",
52
- code_gen_sensitive: true,
53
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_file),
54
- default_value_dynamic: true,
55
- verify_block: proc do |value|
56
- UI.user_error!("Could not find service account json file at path '#{File.expand_path(value)}'") unless File.exist?(File.expand_path(value))
57
- UI.user_error!("'#{value}' doesn't seem to be a JSON file") unless FastlaneCore::Helper.json_file?(File.expand_path(value))
58
- end
59
- ),
60
- FastlaneCore::ConfigItem.new(
61
- key: :json_key_data,
62
- env_name: "SUPPLY_JSON_KEY_DATA",
63
- short_option: "-c",
64
- conflicting_options: [:json_key],
65
- optional: true,
66
- description: "The raw service account JSON data used to authenticate with Google",
67
- code_gen_sensitive: true,
68
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_data_raw),
69
- default_value_dynamic: true,
70
- verify_block: proc do |value|
71
- begin
72
- JSON.parse(value)
73
- rescue JSON::ParserError
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
- env_name: "SUPPLY_ROOT_URL",
81
- description: "Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/",
82
- optional: true,
83
- verify_block: proc do |value|
84
- UI.user_error!("Could not parse URL '#{value}'") unless value =~ URI.regexp
85
- end),
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
- env_name: "SUPPLY_TIMEOUT",
88
- optional: true,
89
- description: "Timeout for read, open, and send (in seconds)",
90
- type: Integer,
91
- default_value: 300)
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