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
@@ -85,7 +85,7 @@ module Fastlane
85
85
  env_name: "FASTLANE_ITC_TEAM_ID",
86
86
  description: "The ID of your App Store Connect team if you're in multiple teams",
87
87
  optional: true,
88
- is_string: false, # as we also allow integers, which we convert to strings anyway
88
+ skip_type_validation: true, # as we also allow integers, which we convert to strings anyway
89
89
  code_gen_sensitive: true,
90
90
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
91
91
  default_value_dynamic: true),
@@ -253,7 +253,7 @@ module Fastlane
253
253
  env_name: "DOWNLOAD_DSYMS_TEAM_ID",
254
254
  description: "The ID of your App Store Connect team if you're in multiple teams",
255
255
  optional: true,
256
- is_string: false, # as we also allow integers, which we convert to strings anyway
256
+ skip_type_validation: true, # as we also allow integers, which we convert to strings anyway
257
257
  code_gen_sensitive: true,
258
258
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
259
259
  default_value_dynamic: true,
@@ -286,7 +286,7 @@ module Fastlane
286
286
  env_name: "DOWNLOAD_DSYMS_BUILD_NUMBER",
287
287
  description: "The app build_number for dSYMs you wish to download",
288
288
  optional: true,
289
- is_string: false),
289
+ skip_type_validation: true), # as we also allow integers, which we convert to strings anyway
290
290
  FastlaneCore::ConfigItem.new(key: :min_version,
291
291
  short_option: "-m",
292
292
  env_name: "DOWNLOAD_DSYMS_MIN_VERSION",
@@ -296,8 +296,7 @@ module Fastlane
296
296
  short_option: "-d",
297
297
  env_name: "DOWNLOAD_DSYMS_AFTER_UPLOADED_DATE",
298
298
  description: "The uploaded date after which you wish to download dSYMs",
299
- optional: true,
300
- is_string: true),
299
+ optional: true),
301
300
  FastlaneCore::ConfigItem.new(key: :output_directory,
302
301
  short_option: "-s",
303
302
  env_name: "DOWNLOAD_DSYMS_OUTPUT_DIRECTORY",
@@ -61,7 +61,7 @@ module Fastlane
61
61
  description: 'Whether or not all dSYM files are to be included. Optional, default is false in which only your app dSYM is included',
62
62
  default_value: false,
63
63
  optional: true,
64
- is_string: false,
64
+ type: Boolean,
65
65
  env_name: 'DSYM_ZIP_ALL')
66
66
  ]
67
67
  end
@@ -35,7 +35,6 @@ module Fastlane
35
35
  FastlaneCore::ConfigItem.new(key: :branch,
36
36
  env_name: "FL_ENSURE_GIT_BRANCH_NAME",
37
37
  description: "The branch that should be checked for. String that can be either the full name of the branch or a regex e.g. `^feature\/.*$` to match",
38
- is_string: true,
39
38
  default_value: 'master')
40
39
  ]
41
40
  end
@@ -65,18 +65,17 @@ module Fastlane
65
65
  description: "The flag whether to show uncommitted changes if the repo is dirty",
66
66
  optional: true,
67
67
  default_value: false,
68
- is_string: false),
68
+ type: Boolean),
69
69
  FastlaneCore::ConfigItem.new(key: :show_diff,
70
70
  env_name: "FL_ENSURE_GIT_STATUS_CLEAN_SHOW_DIFF",
71
71
  description: "The flag whether to show the git diff if the repo is dirty",
72
72
  optional: true,
73
73
  default_value: false,
74
- is_string: false),
74
+ type: Boolean),
75
75
  FastlaneCore::ConfigItem.new(key: :ignored,
76
76
  env_name: "FL_ENSURE_GIT_STATUS_CLEAN_IGNORED_FILE",
77
77
  description: "The flag whether to ignore file the git status if the repo is dirty",
78
- optional: true,
79
- is_string: true)
78
+ optional: true)
80
79
  ]
81
80
  end
82
81
 
@@ -84,18 +84,16 @@ module Fastlane
84
84
  env_name: "FL_ENSURE_NO_DEBUG_CODE_EXTENSIONS",
85
85
  description: "An array of file extensions that should be searched for",
86
86
  optional: true,
87
- is_string: false),
87
+ type: Array),
88
88
  FastlaneCore::ConfigItem.new(key: :exclude,
89
89
  env_name: "FL_ENSURE_NO_DEBUG_CODE_EXCLUDE",
90
90
  description: "Exclude a certain pattern from the search",
91
- optional: true,
92
- is_string: true),
91
+ optional: true),
93
92
  FastlaneCore::ConfigItem.new(key: :exclude_dirs,
94
93
  env_name: "FL_ENSURE_NO_DEBUG_CODE_EXCLUDE_DIRS",
95
94
  description: "An array of dirs that should not be included in the search",
96
95
  optional: true,
97
- type: Array,
98
- is_string: false)
96
+ type: Array)
99
97
  ]
100
98
  end
101
99
 
@@ -85,7 +85,6 @@ module Fastlane
85
85
  FastlaneCore::ConfigItem.new(key: :version,
86
86
  env_name: "FL_ENSURE_XCODE_VERSION",
87
87
  description: "Xcode version to verify that is selected",
88
- is_string: true,
89
88
  optional: true),
90
89
  FastlaneCore::ConfigItem.new(key: :strict,
91
90
  description: "Should the version be verified strictly (all 3 version numbers), or matching only the given version numbers (i.e. `11.3` == `11.3.x`)",
@@ -109,7 +108,7 @@ module Fastlane
109
108
 
110
109
  def self.example_code
111
110
  [
112
- 'ensure_xcode_version(version: "7.2")'
111
+ 'ensure_xcode_version(version: "12.5")'
113
112
  ]
114
113
  end
115
114
 
@@ -29,27 +29,19 @@ module Fastlane
29
29
 
30
30
  def self.available_options
31
31
  [
32
- FastlaneCore::ConfigItem.new(
33
- key: :set,
34
- env_name: 'FL_ENVIRONMENT_VARIABLE_SET',
35
- description: 'Set the environment variables named',
36
- optional: true,
37
- type: Hash
38
- ),
39
- FastlaneCore::ConfigItem.new(
40
- key: :get,
41
- env_name: 'FL_ENVIRONMENT_VARIABLE_GET',
42
- description: 'Get the environment variable named',
43
- optional: true,
44
- is_string: true
45
- ),
46
- FastlaneCore::ConfigItem.new(
47
- key: :remove,
48
- env_name: 'FL_ENVIRONMENT_VARIABLE_REMOVE',
49
- description: 'Remove the environment variable named',
50
- optional: true,
51
- is_string: true
52
- )
32
+ FastlaneCore::ConfigItem.new(key: :set,
33
+ env_name: 'FL_ENVIRONMENT_VARIABLE_SET',
34
+ description: 'Set the environment variables named',
35
+ optional: true,
36
+ type: Hash),
37
+ FastlaneCore::ConfigItem.new(key: :get,
38
+ env_name: 'FL_ENVIRONMENT_VARIABLE_GET',
39
+ description: 'Get the environment variable named',
40
+ optional: true),
41
+ FastlaneCore::ConfigItem.new(key: :remove,
42
+ env_name: 'FL_ENVIRONMENT_VARIABLE_REMOVE',
43
+ description: 'Remove the environment variable named',
44
+ optional: true)
53
45
  ]
54
46
  end
55
47
 
@@ -34,20 +34,17 @@ module Fastlane
34
34
  short_option: "-T",
35
35
  env_name: "FL_ERB_SRC",
36
36
  description: "ERB Template File",
37
- optional: false,
38
- is_string: true),
37
+ optional: false),
39
38
  FastlaneCore::ConfigItem.new(key: :destination,
40
39
  short_option: "-D",
41
40
  env_name: "FL_ERB_DST",
42
41
  description: "Destination file",
43
- optional: true,
44
- is_string: true),
42
+ optional: true),
45
43
  FastlaneCore::ConfigItem.new(key: :placeholders,
46
44
  short_option: "-p",
47
45
  env_name: "FL_ERB_PLACEHOLDERS",
48
46
  description: "Placeholders given as a hash",
49
47
  default_value: {},
50
- is_string: false,
51
48
  type: Hash),
52
49
  FastlaneCore::ConfigItem.new(key: :trim_mode,
53
50
  short_option: "-t",
@@ -83,7 +83,7 @@ module Fastlane
83
83
  env_name: "USE_HG_REVISION_NUMBER",
84
84
  description: "Use hg revision number instead of hash (ignored for non-hg repos)",
85
85
  optional: true,
86
- is_string: false,
86
+ type: Boolean,
87
87
  default_value: false)
88
88
  ]
89
89
  end
@@ -40,7 +40,6 @@ module Fastlane
40
40
  FastlaneCore::ConfigItem.new(key: :ipa,
41
41
  env_name: "FL_GET_IPA_INFO_PLIST_VALUE_IPA",
42
42
  description: "Path to IPA",
43
- is_string: true,
44
43
  default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH],
45
44
  default_value_dynamic: true)
46
45
  ]
@@ -73,40 +73,35 @@ module Fastlane
73
73
 
74
74
  def self.available_options
75
75
  [
76
- FastlaneCore::ConfigItem.new(
77
- key: :json_key,
78
- env_name: "SUPPLY_JSON_KEY",
79
- short_option: "-j",
80
- conflicting_options: [:json_key_data],
81
- optional: true, # optional until it is possible specify either json_key OR json_key_data are required
82
- description: "The path to a file containing service account JSON, used to authenticate with Google",
83
- code_gen_sensitive: true,
84
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_file),
85
- default_value_dynamic: true,
86
- verify_block: proc do |value|
87
- UI.user_error!("Could not find service account json file at path '#{File.expand_path(value)}'") unless File.exist?(File.expand_path(value))
88
- UI.user_error!("'#{value}' doesn't seem to be a JSON file") unless FastlaneCore::Helper.json_file?(File.expand_path(value))
89
- end
90
- ),
91
- FastlaneCore::ConfigItem.new(
92
- key: :json_key_data,
93
- env_name: "SUPPLY_JSON_KEY_DATA",
94
- short_option: "-c",
95
- conflicting_options: [:json_key],
96
- optional: true,
97
- description: "The raw service account JSON data used to authenticate with Google",
98
- code_gen_sensitive: true,
99
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_data_raw),
100
- default_value_dynamic: true,
101
- verify_block: proc do |value|
102
- begin
103
- JSON.parse(value)
104
- rescue JSON::ParserError
105
- UI.user_error!("Could not parse service account json: JSON::ParseError")
106
- end
107
- end
108
- )
109
-
76
+ FastlaneCore::ConfigItem.new(key: :json_key,
77
+ env_name: "SUPPLY_JSON_KEY",
78
+ short_option: "-j",
79
+ conflicting_options: [:json_key_data],
80
+ optional: true, # optional until it is possible specify either json_key OR json_key_data are required
81
+ description: "The path to a file containing service account JSON, used to authenticate with Google",
82
+ code_gen_sensitive: true,
83
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_file),
84
+ default_value_dynamic: true,
85
+ verify_block: proc do |value|
86
+ UI.user_error!("Could not find service account json file at path '#{File.expand_path(value)}'") unless File.exist?(File.expand_path(value))
87
+ UI.user_error!("'#{value}' doesn't seem to be a JSON file") unless FastlaneCore::Helper.json_file?(File.expand_path(value))
88
+ end),
89
+ FastlaneCore::ConfigItem.new(key: :json_key_data,
90
+ env_name: "SUPPLY_JSON_KEY_DATA",
91
+ short_option: "-c",
92
+ conflicting_options: [:json_key],
93
+ optional: true,
94
+ description: "The raw service account JSON data used to authenticate with Google",
95
+ code_gen_sensitive: true,
96
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_data_raw),
97
+ default_value_dynamic: true,
98
+ verify_block: proc do |value|
99
+ begin
100
+ JSON.parse(value)
101
+ rescue JSON::ParserError
102
+ UI.user_error!("Could not parse service account json: JSON::ParseError")
103
+ end
104
+ end)
110
105
  ]
111
106
  end
112
107
 
@@ -55,7 +55,7 @@ module Fastlane
55
55
  @options << FastlaneCore::ConfigItem.new(key: :new_profile,
56
56
  description: "Block that is called if there is a new profile",
57
57
  optional: true,
58
- is_string: false)
58
+ type: :string_callback)
59
59
  @options
60
60
  end
61
61
 
@@ -8,13 +8,9 @@ module Fastlane
8
8
  paths = params[:pathspec]
9
9
  success_message = "Successfully added from \"#{paths}\" 💾."
10
10
  elsif params[:path]
11
- if params[:path].kind_of?(String)
12
- paths = shell_escape(params[:path], should_escape)
13
- elsif params[:path].kind_of?(Array)
14
- paths = params[:path].map do |p|
15
- shell_escape(p, should_escape)
16
- end.join(' ')
17
- end
11
+ paths = params[:path].map do |p|
12
+ shell_escape(p, should_escape)
13
+ end.join(' ')
18
14
  success_message = "Successfully added \"#{paths}\" 💾."
19
15
  else
20
16
  paths = "."
@@ -43,18 +39,17 @@ module Fastlane
43
39
  [
44
40
  FastlaneCore::ConfigItem.new(key: :path,
45
41
  description: "The file(s) and path(s) you want to add",
46
- is_string: false,
42
+ type: Array,
47
43
  conflicting_options: [:pathspec],
48
44
  optional: true),
49
45
  FastlaneCore::ConfigItem.new(key: :shell_escape,
50
46
  description: "Shell escapes paths (set to false if using wildcards or manually escaping spaces in :path)",
51
- is_string: false,
47
+ type: Boolean,
52
48
  default_value: true,
53
49
  optional: true),
54
50
  # Deprecated
55
51
  FastlaneCore::ConfigItem.new(key: :pathspec,
56
52
  description: "The pathspec you want to add files from",
57
- is_string: true,
58
53
  conflicting_options: [:path],
59
54
  optional: true,
60
55
  deprecated: "Use `--path` instead")
@@ -2,11 +2,7 @@ module Fastlane
2
2
  module Actions
3
3
  class GitCommitAction < Action
4
4
  def self.run(params)
5
- if params[:path].kind_of?(String)
6
- paths = params[:path].shellescape
7
- else
8
- paths = params[:path].map(&:shellescape).join(' ')
9
- end
5
+ paths = params[:path].map(&:shellescape).join(' ')
10
6
 
11
7
  skip_git_hooks = params[:skip_git_hooks] ? '--no-verify' : ''
12
8
 
@@ -38,7 +34,7 @@ module Fastlane
38
34
  [
39
35
  FastlaneCore::ConfigItem.new(key: :path,
40
36
  description: "The file(s) or directory(ies) you want to commit. You can pass an array of multiple file-paths or fileglobs \"*.txt\" to commit all matching files. The files already staged but not specified and untracked files won't be committed",
41
- is_string: false),
37
+ type: Array),
42
38
  FastlaneCore::ConfigItem.new(key: :message,
43
39
  description: "The commit message that should be used"),
44
40
  FastlaneCore::ConfigItem.new(key: :skip_git_hooks,
@@ -0,0 +1,57 @@
1
+ module Fastlane
2
+ module Actions
3
+ class GitRemoteBranchAction < Action
4
+ def self.run(params)
5
+ Actions.git_remote_branch_name(params[:remote_name])
6
+ end
7
+
8
+ #####################################################
9
+ # @!group Documentation
10
+ #####################################################
11
+
12
+ def self.description
13
+ "Returns the name of the current git remote default branch"
14
+ end
15
+
16
+ def self.details
17
+ "If no default remote branch could be found, this action will return nil. This is a wrapper for the internal action Actions.git_default_remote_branch_name"
18
+ end
19
+
20
+ def self.available_options
21
+ [
22
+ FastlaneCore::ConfigItem.new(key: :remote_name,
23
+ env_name: "FL_REMOTE_REPOSITORY_NAME",
24
+ description: "The remote repository to check",
25
+ optional: true)
26
+ ]
27
+ end
28
+
29
+ def self.output
30
+ []
31
+ end
32
+
33
+ def self.authors
34
+ ["SeanMcNeil"]
35
+ end
36
+
37
+ def self.is_supported?(platform)
38
+ true
39
+ end
40
+
41
+ def self.example_code
42
+ [
43
+ 'git_remote_branch # Query git for first available remote name',
44
+ 'git_remote_branch(remote_name:"upstream") # Provide a remote name'
45
+ ]
46
+ end
47
+
48
+ def self.return_type
49
+ :string
50
+ end
51
+
52
+ def self.category
53
+ :source_control
54
+ end
55
+ end
56
+ end
57
+ end
@@ -92,7 +92,6 @@ module Fastlane
92
92
  conflicting_options: [:api_bearer],
93
93
  sensitive: true,
94
94
  code_gen_sensitive: true,
95
- is_string: true,
96
95
  default_value: ENV["GITHUB_API_TOKEN"],
97
96
  default_value_dynamic: true,
98
97
  optional: true),
@@ -100,7 +99,6 @@ module Fastlane
100
99
  env_name: "FL_GITHUB_API_BEARER",
101
100
  sensitive: true,
102
101
  code_gen_sensitive: true,
103
- is_string: true,
104
102
  description: "Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable",
105
103
  conflicting_options: [:api_token],
106
104
  optional: true,
@@ -118,13 +116,12 @@ module Fastlane
118
116
  FastlaneCore::ConfigItem.new(key: :body,
119
117
  env_name: "FL_GITHUB_API_REQUEST_BODY",
120
118
  description: "The request body in JSON or hash format",
121
- is_string: false,
119
+ skip_type_validation: true, # allow Hash, Array
122
120
  default_value: {},
123
121
  optional: true),
124
122
  FastlaneCore::ConfigItem.new(key: :raw_body,
125
123
  env_name: "FL_GITHUB_API_REQUEST_RAW_BODY",
126
124
  description: "The request body taken verbatim instead of as JSON, useful for file uploads",
127
- is_string: true,
128
125
  optional: true),
129
126
  FastlaneCore::ConfigItem.new(key: :path,
130
127
  env_name: "FL_GITHUB_API_PATH",
@@ -139,7 +136,7 @@ module Fastlane
139
136
  end),
140
137
  FastlaneCore::ConfigItem.new(key: :error_handlers,
141
138
  description: "Optional error handling hash based on status code, or pass '*' to handle all errors",
142
- is_string: false,
139
+ type: Hash,
143
140
  default_value: {},
144
141
  optional: true),
145
142
  FastlaneCore::ConfigItem.new(key: :headers,
@@ -68,7 +68,7 @@ module Fastlane
68
68
 
69
69
  apk_search_path = File.join(project_dir, '**', 'build', 'outputs', 'apk', '**', '*.apk')
70
70
  aab_search_path = File.join(project_dir, '**', 'build', 'outputs', 'bundle', '**', '*.aab')
71
- output_json_search_path = File.join(project_dir, '**', 'build', 'outputs', 'apk', '**', 'output.json')
71
+ output_json_search_path = File.join(project_dir, '**', 'build', 'outputs', 'apk', '**', 'output*.json') # output.json in Android Stuido 3 and output-metadata.json in Android Studio 4
72
72
  mapping_txt_search_path = File.join(project_dir, '**', 'build', 'outputs', 'mapping', '**', 'mapping.txt')
73
73
 
74
74
  # Our apk/aab is now built, but there might actually be multiple ones that were built if a flavor was not specified in a multi-flavor project (e.g. `assembleRelease`)
@@ -146,64 +146,56 @@ module Fastlane
146
146
  env_name: 'FL_GRADLE_TASK',
147
147
  description: 'The gradle task you want to execute, e.g. `assemble`, `bundle` or `test`. For tasks such as `assembleMyFlavorRelease` you should use gradle(task: \'assemble\', flavor: \'Myflavor\', build_type: \'Release\')',
148
148
  conflicting_options: [:tasks],
149
- optional: true,
150
- is_string: true),
149
+ optional: true),
151
150
  FastlaneCore::ConfigItem.new(key: :flavor,
152
151
  env_name: 'FL_GRADLE_FLAVOR',
153
152
  description: 'The flavor that you want the task for, e.g. `MyFlavor`. If you are running the `assemble` task in a multi-flavor project, and you rely on Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH] then you must specify a flavor here or else this value will be undefined',
154
- optional: true,
155
- is_string: true),
153
+ optional: true),
156
154
  FastlaneCore::ConfigItem.new(key: :build_type,
157
155
  env_name: 'FL_GRADLE_BUILD_TYPE',
158
156
  description: 'The build type that you want the task for, e.g. `Release`. Useful for some tasks such as `assemble`',
159
- optional: true,
160
- is_string: true),
157
+ optional: true),
161
158
  FastlaneCore::ConfigItem.new(key: :tasks,
162
159
  type: Array,
163
160
  env_name: 'FL_GRADLE_TASKS',
164
161
  description: 'The multiple gradle tasks that you want to execute, e.g. `[assembleDebug, bundleDebug]`',
165
162
  conflicting_options: [:task],
166
- optional: true,
167
- is_string: false),
163
+ optional: true),
168
164
  FastlaneCore::ConfigItem.new(key: :flags,
169
165
  env_name: 'FL_GRADLE_FLAGS',
170
166
  description: 'All parameter flags you want to pass to the gradle command, e.g. `--exitcode --xml file.xml`',
171
- optional: true,
172
- is_string: true),
167
+ optional: true),
173
168
  FastlaneCore::ConfigItem.new(key: :project_dir,
174
169
  env_name: 'FL_GRADLE_PROJECT_DIR',
175
170
  description: 'The root directory of the gradle project',
176
- default_value: '.',
177
- is_string: true),
171
+ default_value: '.'),
178
172
  FastlaneCore::ConfigItem.new(key: :gradle_path,
179
173
  env_name: 'FL_GRADLE_PATH',
180
174
  description: 'The path to your `gradlew`. If you specify a relative path, it is assumed to be relative to the `project_dir`',
181
- optional: true,
182
- is_string: true),
175
+ optional: true),
183
176
  FastlaneCore::ConfigItem.new(key: :properties,
184
177
  env_name: 'FL_GRADLE_PROPERTIES',
185
178
  description: 'Gradle properties to be exposed to the gradle script',
186
179
  optional: true,
187
- is_string: false),
180
+ type: Hash),
188
181
  FastlaneCore::ConfigItem.new(key: :system_properties,
189
182
  env_name: 'FL_GRADLE_SYSTEM_PROPERTIES',
190
183
  description: 'Gradle system properties to be exposed to the gradle script',
191
184
  optional: true,
192
- is_string: false),
185
+ type: Hash),
193
186
  FastlaneCore::ConfigItem.new(key: :serial,
194
187
  env_name: 'FL_ANDROID_SERIAL',
195
188
  description: 'Android serial, which device should be used for this command',
196
- is_string: true,
197
189
  default_value: ''),
198
190
  FastlaneCore::ConfigItem.new(key: :print_command,
199
191
  env_name: 'FL_GRADLE_PRINT_COMMAND',
200
192
  description: 'Control whether the generated Gradle command is printed as output before running it (true/false)',
201
- is_string: false,
193
+ type: Boolean,
202
194
  default_value: true),
203
195
  FastlaneCore::ConfigItem.new(key: :print_command_output,
204
196
  env_name: 'FL_GRADLE_PRINT_COMMAND_OUTPUT',
205
197
  description: 'Control whether the output produced by given Gradle command is printed while running (true/false)',
206
- is_string: false,
198
+ type: Boolean,
207
199
  default_value: true)
208
200
  ]
209
201
  end