fastlane 2.185.0 → 2.188.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +96 -96
  3. data/fastlane/lib/fastlane/actions/appetize.rb +0 -7
  4. data/fastlane/lib/fastlane/actions/appium.rb +40 -65
  5. data/fastlane/lib/fastlane/actions/appledoc.rb +45 -45
  6. data/fastlane/lib/fastlane/actions/apteligent.rb +3 -2
  7. data/fastlane/lib/fastlane/actions/artifactory.rb +5 -6
  8. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +7 -13
  9. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +2 -2
  10. data/fastlane/lib/fastlane/actions/badge.rb +9 -13
  11. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +1 -3
  12. data/fastlane/lib/fastlane/actions/bundle_install.rb +8 -10
  13. data/fastlane/lib/fastlane/actions/carthage.rb +1 -15
  14. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +8 -17
  15. data/fastlane/lib/fastlane/actions/chatwork.rb +3 -2
  16. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +0 -1
  17. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +0 -1
  18. data/fastlane/lib/fastlane/actions/cloc.rb +9 -13
  19. data/fastlane/lib/fastlane/actions/cocoapods.rb +9 -15
  20. data/fastlane/lib/fastlane/actions/commit_github_file.rb +1 -3
  21. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +6 -7
  22. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +3 -4
  23. data/fastlane/lib/fastlane/actions/crashlytics.rb +7 -11
  24. data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +70 -76
  25. data/fastlane/lib/fastlane/actions/create_keychain.rb +13 -11
  26. data/fastlane/lib/fastlane/actions/create_pull_request.rb +0 -9
  27. data/fastlane/lib/fastlane/actions/danger.rb +6 -11
  28. data/fastlane/lib/fastlane/actions/deploygate.rb +1 -2
  29. data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
  30. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +26 -27
  31. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +2 -2
  32. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
  33. data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +1 -1
  34. data/fastlane/lib/fastlane/actions/download_dsyms.rb +3 -4
  35. data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
  36. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +0 -1
  37. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -4
  38. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +3 -5
  39. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -2
  40. data/fastlane/lib/fastlane/actions/environment_variable.rb +13 -21
  41. data/fastlane/lib/fastlane/actions/erb.rb +2 -5
  42. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +1 -1
  43. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +0 -1
  44. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +29 -34
  45. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
  46. data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
  47. data/fastlane/lib/fastlane/actions/git_commit.rb +2 -6
  48. data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
  49. data/fastlane/lib/fastlane/actions/github_api.rb +2 -5
  50. data/fastlane/lib/fastlane/actions/gradle.rb +12 -20
  51. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
  52. data/fastlane/lib/fastlane/actions/hg_push.rb +1 -1
  53. data/fastlane/lib/fastlane/actions/hipchat.rb +4 -5
  54. data/fastlane/lib/fastlane/actions/hockey.rb +5 -12
  55. data/fastlane/lib/fastlane/actions/ifttt.rb +3 -6
  56. data/fastlane/lib/fastlane/actions/import_from_git.rb +2 -4
  57. data/fastlane/lib/fastlane/actions/increment_build_number.rb +1 -2
  58. data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
  59. data/fastlane/lib/fastlane/actions/installr.rb +22 -25
  60. data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
  61. data/fastlane/lib/fastlane/actions/jazzy.rb +8 -14
  62. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +3 -4
  63. data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
  64. data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
  65. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
  66. data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
  67. data/fastlane/lib/fastlane/actions/nexus_upload.rb +2 -2
  68. data/fastlane/lib/fastlane/actions/notarize.rb +1 -4
  69. data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
  70. data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
  71. data/fastlane/lib/fastlane/actions/pod_push.rb +0 -2
  72. data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
  73. data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
  74. data/fastlane/lib/fastlane/actions/push_git_tags.rb +1 -1
  75. data/fastlane/lib/fastlane/actions/puts.rb +1 -2
  76. data/fastlane/lib/fastlane/actions/register_devices.rb +0 -1
  77. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
  78. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
  79. data/fastlane/lib/fastlane/actions/resign.rb +2 -9
  80. data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
  81. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
  82. data/fastlane/lib/fastlane/actions/s3.rb +1 -1
  83. data/fastlane/lib/fastlane/actions/say.rb +2 -3
  84. data/fastlane/lib/fastlane/actions/scp.rb +4 -10
  85. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
  86. data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
  87. data/fastlane/lib/fastlane/actions/set_github_release.rb +2 -8
  88. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
  89. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
  90. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
  91. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
  92. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
  93. data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
  94. data/fastlane/lib/fastlane/actions/sh.rb +2 -4
  95. data/fastlane/lib/fastlane/actions/slack.rb +6 -8
  96. data/fastlane/lib/fastlane/actions/slather.rb +3 -19
  97. data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
  98. data/fastlane/lib/fastlane/actions/sourcedocs.rb +62 -98
  99. data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
  100. data/fastlane/lib/fastlane/actions/spm.rb +3 -3
  101. data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
  102. data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
  103. data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
  104. data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
  105. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
  106. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
  107. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
  108. data/fastlane/lib/fastlane/actions/update_fastlane.rb +2 -2
  109. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
  110. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  111. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
  112. data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
  113. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +2 -2
  114. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
  115. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
  116. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +1 -2
  117. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
  118. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
  119. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
  120. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
  121. data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
  122. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +1 -1
  123. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +4 -4
  124. data/fastlane/lib/fastlane/helper/git_helper.rb +17 -5
  125. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
  126. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
  127. data/fastlane/lib/fastlane/setup/setup_ios.rb +3 -3
  128. data/fastlane/lib/fastlane/swift_fastlane_function.rb +4 -4
  129. data/fastlane/lib/fastlane/version.rb +1 -1
  130. data/fastlane/swift/Deliverfile.swift +1 -1
  131. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  132. data/fastlane/swift/Fastlane.swift +1239 -1222
  133. data/fastlane/swift/Gymfile.swift +1 -1
  134. data/fastlane/swift/GymfileProtocol.swift +1 -1
  135. data/fastlane/swift/Matchfile.swift +1 -1
  136. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  137. data/fastlane/swift/Precheckfile.swift +1 -1
  138. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  139. data/fastlane/swift/Scanfile.swift +1 -1
  140. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  141. data/fastlane/swift/Screengrabfile.swift +1 -1
  142. data/fastlane/swift/ScreengrabfileProtocol.swift +4 -4
  143. data/fastlane/swift/Snapshotfile.swift +1 -1
  144. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  145. data/fastlane/swift/formatting/Brewfile.lock.json +19 -11
  146. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +13 -0
  147. data/fastlane_core/lib/fastlane_core/print_table.rb +5 -3
  148. data/fastlane_core/lib/fastlane_core/project.rb +7 -3
  149. data/match/lib/match/importer.rb +3 -0
  150. data/match/lib/match/nuke.rb +2 -3
  151. data/pilot/lib/pilot.rb +0 -1
  152. data/pilot/lib/pilot/build_manager.rb +0 -3
  153. data/pilot/lib/pilot/manager.rb +4 -1
  154. data/produce/lib/produce/commands_generator.rb +99 -27
  155. data/produce/lib/produce/developer_center.rb +42 -4
  156. data/produce/lib/produce/options.rb +1 -1
  157. data/produce/lib/produce/service.rb +270 -179
  158. data/screengrab/lib/screengrab/android_environment.rb +2 -52
  159. data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
  160. data/screengrab/lib/screengrab/options.rb +5 -2
  161. data/screengrab/lib/screengrab/runner.rb +109 -107
  162. data/snapshot/lib/assets/SnapfileTemplate +2 -1
  163. data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
  164. data/snapshot/lib/assets/SnapshotHelper.swift +14 -10
  165. data/snapshot/lib/snapshot/reports_generator.rb +3 -1
  166. data/snapshot/lib/snapshot/test_command_generator.rb +17 -3
  167. data/spaceship/lib/spaceship/client.rb +13 -3
  168. data/spaceship/lib/spaceship/connect_api/api_client.rb +30 -5
  169. data/spaceship/lib/spaceship/connect_api/models/{.app_store_version_submission.rb.swp → .bundle_id.rb.swp} +0 -0
  170. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +3 -1
  171. data/spaceship/lib/spaceship/connect_api/models/build.rb +3 -1
  172. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +8 -0
  173. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +58 -17
  174. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +41 -1
  175. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +13 -0
  176. data/spaceship/lib/spaceship/portal/.app.rb.swp +0 -0
  177. data/spaceship/lib/spaceship/spaceauth_runner.rb +19 -6
  178. metadata +25 -28
  179. data/fastlane/lib/fastlane/.erb_template_helper.rb.swp +0 -0
  180. data/fastlane/lib/fastlane/actions/.git_commit.rb.swp +0 -0
  181. data/gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp +0 -0
  182. data/pilot/lib/pilot/features.rb +0 -0
  183. data/spaceship/lib/spaceship/.DS_Store +0 -0
@@ -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
- is_string: false),
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
- is_string: false)
63
+ type: Boolean)
63
64
  ]
64
65
  end
65
66
 
@@ -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", # a short description of this parameter
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
- env_name: "FL_CLOC_SOURCE_DIRECTORY",
55
- description: "Where to look for the source code (relative to the project root folder)",
56
- is_string: true,
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
- env_name: "FL_CLOC_XML",
60
- description: "Should we generate an XML File (if false, it will generate a plain text file)?",
61
- is_string: false,
62
- default_value: true)
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
- is_string: false,
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
- is_string: false,
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
- is_string: false,
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
- is_string: false,
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
- is_string: false,
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
- is_string: false,
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
- is_string: false,
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
- is_string: false,
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
- is_string: false,
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
- is_string: false,
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
- optional: true,
179
- default_value: nil,
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
- is_string: false,
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
- is_string: false,
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
- is_string: false,
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
- optional: true,
142
- is_string: false),
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
- optional: true,
147
- is_string: false),
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
- is_string: false),
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
- is_string: false)
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
- key: :json_key,
57
- env_name: "SUPPLY_JSON_KEY",
58
- short_option: "-j",
59
- conflicting_options: [:json_key_data],
60
- optional: true, # optional until it is possible specify either json_key OR json_key_data are required
61
- description: "The path to a file containing service account JSON, used to authenticate with Google",
62
- code_gen_sensitive: true,
63
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_file),
64
- default_value_dynamic: true,
65
- verify_block: proc do |value|
66
- UI.user_error!("Could not find service account json file at path '#{File.expand_path(value)}'") unless File.exist?(File.expand_path(value))
67
- UI.user_error!("'#{value}' doesn't seem to be a JSON file") unless FastlaneCore::Helper.json_file?(File.expand_path(value))
68
- end
69
- ),
70
- FastlaneCore::ConfigItem.new(
71
- key: :json_key_data,
72
- env_name: "SUPPLY_JSON_KEY_DATA",
73
- short_option: "-c",
74
- conflicting_options: [:json_key],
75
- optional: true,
76
- description: "The raw service account JSON data used to authenticate with Google",
77
- code_gen_sensitive: true,
78
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_data_raw),
79
- default_value_dynamic: true,
80
- verify_block: proc do |value|
81
- begin
82
- JSON.parse(value)
83
- rescue JSON::ParserError
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
- short_option: "-k",
90
- env_name: "SUPPLY_DEVELOPER_ACCOUNT_ID",
91
- 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)",
92
- code_gen_sensitive: true,
93
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:developer_account_id),
94
- default_value_dynamic: true),
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
- key: :apk,
98
- env_name: "SUPPLY_APK",
99
- description: "Path to the APK file to upload",
100
- short_option: "-b",
101
- code_gen_sensitive: true,
102
- default_value: Dir["*.apk"].last || Dir[File.join("app", "build", "outputs", "apk", "app-release.apk")].last,
103
- default_value_dynamic: true,
104
- verify_block: proc do |value|
105
- UI.user_error!("No value found for 'apk'") if value.to_s.length == 0
106
- UI.user_error!("Could not find apk file at path '#{value}'") unless File.exist?(value)
107
- UI.user_error!("apk file is not an apk") unless value.end_with?('.apk')
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
- env_name: "SUPPLY_APP_TITLE",
113
- short_option: "-q",
114
- description: "App Title"),
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
- short_option: "-m",
118
- env_name: "SUPPLY_LANGUAGE",
119
- description: "Default app language (e.g. 'en_US')",
120
- default_value: "en_US",
121
- verify_block: proc do |language|
122
- unless Supply::Languages::ALL_LANGUAGES.include?(language)
123
- UI.user_error!("Please enter one of the available languages: #{Supply::Languages::ALL_LANGUAGES}")
124
- end
125
- end),
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
- env_name: "SUPPLY_ROOT_URL",
129
- description: "Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/",
130
- optional: true,
131
- verify_block: proc do |value|
132
- UI.user_error!("Could not parse URL '#{value}'") unless value =~ URI.regexp
133
- end),
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
- env_name: "SUPPLY_TIMEOUT",
136
- optional: true,
137
- description: "Timeout for read, open, and send (in seconds)",
138
- type: Integer,
139
- default_value: 300)
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