fastlane 2.184.0 → 2.187.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +101 -94
  3. data/deliver/lib/deliver/upload_metadata.rb +1 -1
  4. data/fastlane/lib/fastlane/actions/adb.rb +1 -4
  5. data/fastlane/lib/fastlane/actions/adb_devices.rb +0 -1
  6. data/fastlane/lib/fastlane/actions/add_git_tag.rb +4 -4
  7. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +3 -4
  8. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +1 -1
  9. data/fastlane/lib/fastlane/actions/appetize.rb +0 -7
  10. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +0 -11
  11. data/fastlane/lib/fastlane/actions/appium.rb +40 -65
  12. data/fastlane/lib/fastlane/actions/apteligent.rb +3 -2
  13. data/fastlane/lib/fastlane/actions/artifactory.rb +5 -6
  14. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +6 -11
  15. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +2 -2
  16. data/fastlane/lib/fastlane/actions/badge.rb +9 -13
  17. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +1 -3
  18. data/fastlane/lib/fastlane/actions/bundle_install.rb +8 -10
  19. data/fastlane/lib/fastlane/actions/carthage.rb +2 -16
  20. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +8 -17
  21. data/fastlane/lib/fastlane/actions/chatwork.rb +3 -2
  22. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +0 -1
  23. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +0 -1
  24. data/fastlane/lib/fastlane/actions/cloc.rb +9 -13
  25. data/fastlane/lib/fastlane/actions/cocoapods.rb +9 -15
  26. data/fastlane/lib/fastlane/actions/commit_github_file.rb +1 -3
  27. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +6 -7
  28. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +3 -4
  29. data/fastlane/lib/fastlane/actions/crashlytics.rb +7 -11
  30. data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +70 -76
  31. data/fastlane/lib/fastlane/actions/create_keychain.rb +13 -11
  32. data/fastlane/lib/fastlane/actions/create_pull_request.rb +0 -9
  33. data/fastlane/lib/fastlane/actions/danger.rb +6 -11
  34. data/fastlane/lib/fastlane/actions/deploygate.rb +1 -2
  35. data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
  36. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +26 -27
  37. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +2 -2
  38. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
  39. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +4 -5
  40. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +10 -4
  41. data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +1 -1
  42. data/fastlane/lib/fastlane/actions/download_dsyms.rb +3 -4
  43. data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
  44. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +0 -1
  45. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -4
  46. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +3 -5
  47. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -2
  48. data/fastlane/lib/fastlane/actions/environment_variable.rb +13 -21
  49. data/fastlane/lib/fastlane/actions/erb.rb +2 -5
  50. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +1 -1
  51. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +0 -1
  52. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +29 -34
  53. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
  54. data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
  55. data/fastlane/lib/fastlane/actions/git_commit.rb +2 -6
  56. data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
  57. data/fastlane/lib/fastlane/actions/github_api.rb +2 -5
  58. data/fastlane/lib/fastlane/actions/gradle.rb +11 -19
  59. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
  60. data/fastlane/lib/fastlane/actions/hg_push.rb +1 -1
  61. data/fastlane/lib/fastlane/actions/hipchat.rb +4 -5
  62. data/fastlane/lib/fastlane/actions/hockey.rb +5 -12
  63. data/fastlane/lib/fastlane/actions/ifttt.rb +3 -6
  64. data/fastlane/lib/fastlane/actions/import_from_git.rb +2 -4
  65. data/fastlane/lib/fastlane/actions/increment_build_number.rb +1 -2
  66. data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
  67. data/fastlane/lib/fastlane/actions/installr.rb +22 -25
  68. data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
  69. data/fastlane/lib/fastlane/actions/jazzy.rb +8 -14
  70. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +3 -4
  71. data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
  72. data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
  73. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
  74. data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
  75. data/fastlane/lib/fastlane/actions/nexus_upload.rb +2 -2
  76. data/fastlane/lib/fastlane/actions/notarize.rb +1 -4
  77. data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
  78. data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
  79. data/fastlane/lib/fastlane/actions/pod_push.rb +0 -2
  80. data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
  81. data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
  82. data/fastlane/lib/fastlane/actions/push_git_tags.rb +1 -1
  83. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +5 -1
  84. data/fastlane/lib/fastlane/actions/puts.rb +1 -2
  85. data/fastlane/lib/fastlane/actions/register_devices.rb +0 -1
  86. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
  87. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
  88. data/fastlane/lib/fastlane/actions/resign.rb +2 -9
  89. data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
  90. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
  91. data/fastlane/lib/fastlane/actions/s3.rb +1 -1
  92. data/fastlane/lib/fastlane/actions/say.rb +2 -3
  93. data/fastlane/lib/fastlane/actions/scp.rb +4 -10
  94. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
  95. data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
  96. data/fastlane/lib/fastlane/actions/set_github_release.rb +2 -8
  97. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
  98. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
  99. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
  100. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
  101. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
  102. data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
  103. data/fastlane/lib/fastlane/actions/sh.rb +2 -4
  104. data/fastlane/lib/fastlane/actions/slack.rb +6 -8
  105. data/fastlane/lib/fastlane/actions/slather.rb +3 -19
  106. data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
  107. data/fastlane/lib/fastlane/actions/sourcedocs.rb +62 -98
  108. data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
  109. data/fastlane/lib/fastlane/actions/spm.rb +3 -3
  110. data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
  111. data/fastlane/lib/fastlane/actions/swiftlint.rb +1 -11
  112. data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
  113. data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
  114. data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
  115. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
  116. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
  117. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
  118. data/fastlane/lib/fastlane/actions/update_fastlane.rb +2 -2
  119. data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
  120. data/fastlane/lib/fastlane/environment_printer.rb +1 -0
  121. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +4 -4
  122. data/fastlane/lib/fastlane/helper/git_helper.rb +24 -7
  123. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -1
  124. data/fastlane/lib/fastlane/setup/setup_ios.rb +3 -3
  125. data/fastlane/lib/fastlane/swift_fastlane_function.rb +6 -5
  126. data/fastlane/lib/fastlane/version.rb +1 -1
  127. data/fastlane/swift/Deliverfile.swift +1 -1
  128. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  129. data/fastlane/swift/Fastlane.swift +3786 -3563
  130. data/fastlane/swift/Gymfile.swift +1 -1
  131. data/fastlane/swift/GymfileProtocol.swift +1 -1
  132. data/fastlane/swift/Matchfile.swift +1 -1
  133. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  134. data/fastlane/swift/Precheckfile.swift +1 -1
  135. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  136. data/fastlane/swift/Scanfile.swift +1 -1
  137. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  138. data/fastlane/swift/Screengrabfile.swift +1 -1
  139. data/fastlane/swift/ScreengrabfileProtocol.swift +4 -4
  140. data/fastlane/swift/Snapshotfile.swift +1 -1
  141. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  142. data/fastlane/swift/formatting/Brewfile.lock.json +11 -11
  143. data/fastlane_core/lib/fastlane_core/build_watcher.rb +2 -2
  144. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +16 -3
  145. data/fastlane_core/lib/fastlane_core/helper.rb +12 -0
  146. data/fastlane_core/lib/fastlane_core/print_table.rb +5 -3
  147. data/fastlane_core/lib/fastlane_core/project.rb +7 -3
  148. data/match/lib/match/importer.rb +3 -0
  149. data/match/lib/match/nuke.rb +2 -3
  150. data/match/lib/match/options.rb +1 -0
  151. data/pilot/lib/pilot/build_manager.rb +2 -1
  152. data/pilot/lib/pilot/manager.rb +4 -1
  153. data/pilot/lib/pilot/options.rb +2 -2
  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 +108 -106
  162. data/sigh/lib/assets/resign.sh +8 -19
  163. data/snapshot/lib/assets/SnapfileTemplate +2 -1
  164. data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
  165. data/snapshot/lib/assets/SnapshotHelper.swift +14 -10
  166. data/snapshot/lib/snapshot/reports_generator.rb +3 -1
  167. data/snapshot/lib/snapshot/test_command_generator.rb +17 -3
  168. data/spaceship/lib/spaceship/connect_api/api_client.rb +30 -5
  169. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +2 -1
  170. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +3 -1
  171. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +3 -1
  172. data/spaceship/lib/spaceship/connect_api/models/build.rb +5 -1
  173. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +8 -0
  174. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +58 -17
  175. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +41 -1
  176. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +13 -0
  177. data/spaceship/lib/spaceship/spaceauth_runner.rb +19 -6
  178. metadata +21 -21
  179. data/fastlane/lib/fastlane/actions/.git_commit.rb.swp +0 -0
  180. data/spaceship/lib/spaceship/connect_api/models/.age_rating_declaration.rb.swp +0 -0
@@ -288,7 +288,7 @@ reset_ratings(false)
288
288
  ##### app_rating_config_path
289
289
  You can set the app age ratings using _deliver_. You'll have to create and store a `JSON` configuration file. Copy the [template](https://github.com/fastlane/fastlane/blob/master/deliver/assets/example_rating_config.json) to your project folder and pass the path to the `JSON` file using the `app_rating_config_path` option.
290
290
 
291
- The keys/values on the top allow values from 0-2, and the items on the bottom allow only 0 or 1. More information in [#reference](#reference).
291
+ The keys/values on the top allow one of 3 strings: "NONE", "INFREQUENT_OR_MILD" or "FREQUENT_OR_INTENSE", and the items on the bottom allow false or true. More information in [#reference](#reference).
292
292
 
293
293
 
294
294
  ## Metadata
@@ -591,9 +591,9 @@ Key | Editable While Live | Directory | Filename | Deprecated Filename
591
591
 
592
592
  **Values**
593
593
 
594
- - 0: None
595
- - 1: Infrequent/Mild
596
- - 2: Frequent/Intense
594
+ - 0: None (Legacy value, use `NONE` instead)
595
+ - 1: Infrequent/Mild (Legacy value, use `INFREQUENT_OR_MILD` instead)
596
+ - 2: Frequent/Intense (Legacy value, use `FREQUENT_OR_INTENSE`instead)
597
597
 
598
598
  - `NONE`
599
599
  - `INFREQUENT_OR_MILD`
@@ -603,7 +603,6 @@ Key | Editable While Live | Directory | Filename | Deprecated Filename
603
603
 
604
604
  - 'alcoholTobaccoOrDrugUseOrReferences'
605
605
  - 'contests'
606
- - 'gambling'
607
606
  - 'gamblingSimulated'
608
607
  - 'medicalOrTreatmentInformation'
609
608
  - 'profanityOrCrudeHumor'
@@ -135,16 +135,16 @@ The output will look like this:
135
135
 
136
136
  ### Add a new tester
137
137
 
138
- To add a new tester to both your App Store Connect account and to your app (if given), use the `pilot add` command. This will create a new tester (if necessary) or add an existing tester to the app to test.
138
+ To add a new tester to your App Store Connect account and to associate it to at least one testing group of your app, use the `pilot add` command. This will create a new tester (if necessary) or add an existing tester to the app to test.
139
139
 
140
140
  ```no-highlight
141
- fastlane pilot add email@invite.com
141
+ fastlane pilot add email@invite.com -g group-1,group-2
142
142
  ```
143
143
 
144
144
  Additionally you can specify the app identifier (if necessary):
145
145
 
146
146
  ```no-highlight
147
- fastlane pilot add email@email.com -a com.krausefx.app
147
+ fastlane pilot add email@email.com -a com.krausefx.app -g group-1,group-2
148
148
  ```
149
149
 
150
150
  ### Find a tester
@@ -173,12 +173,18 @@ The resulting output will look like this:
173
173
 
174
174
  ### Remove a tester
175
175
 
176
- This command will only remove external beta testers.
176
+ This command will remove beta tester from app (from all internal and external groups)
177
177
 
178
178
  ```no-highlight
179
179
  fastlane pilot remove felix@krausefx.com
180
180
  ```
181
181
 
182
+ You can also use `groups` option to remove the tester from the groups specified:
183
+
184
+ ```no-highlight
185
+ fastlane pilot remove felix@krausefx.com -g group-1,group-2
186
+ ```
187
+
182
188
  ### Export testers
183
189
 
184
190
  To export all external testers to a CSV file. Useful if you need to import tester info to another system or a new account.
@@ -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