fastlane 2.196.0 → 2.212.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +88 -81
  4. data/cert/lib/cert/runner.rb +19 -8
  5. data/deliver/lib/assets/ScreenshotsHelp +29 -6
  6. data/deliver/lib/deliver/app_screenshot.rb +30 -4
  7. data/deliver/lib/deliver/app_screenshot_iterator.rb +1 -1
  8. data/deliver/lib/deliver/options.rb +6 -2
  9. data/deliver/lib/deliver/runner.rb +88 -24
  10. data/deliver/lib/deliver/submit_for_review.rb +25 -3
  11. data/deliver/lib/deliver/upload_price_tier.rb +3 -1
  12. data/deliver/lib/deliver/upload_screenshots.rb +2 -2
  13. data/fastlane/lib/assets/AppfileTemplate +1 -1
  14. data/fastlane/lib/assets/AppfileTemplate.swift +1 -1
  15. data/fastlane/lib/fastlane/actions/badge.rb +1 -1
  16. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +1 -1
  17. data/fastlane/lib/fastlane/actions/danger.rb +14 -0
  18. data/fastlane/lib/fastlane/actions/docs/build_app.md +5 -5
  19. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +19 -2
  20. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
  21. data/fastlane/lib/fastlane/actions/docs/run_tests.md +1 -1
  22. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +1 -1
  23. data/fastlane/lib/fastlane/actions/download_dsyms.rb +62 -46
  24. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +15 -4
  25. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -1
  26. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
  27. data/fastlane/lib/fastlane/actions/get_version_number.rb +8 -3
  28. data/fastlane/lib/fastlane/actions/git_commit.rb +4 -6
  29. data/fastlane/lib/fastlane/actions/import_certificate.rb +1 -1
  30. data/fastlane/lib/fastlane/actions/notarize.rb +29 -11
  31. data/fastlane/lib/fastlane/actions/pod_lib_lint.rb +1 -1
  32. data/fastlane/lib/fastlane/actions/pod_push.rb +19 -1
  33. data/fastlane/lib/fastlane/actions/read_podspec.rb +1 -1
  34. data/fastlane/lib/fastlane/actions/run_tests.rb +19 -9
  35. data/fastlane/lib/fastlane/actions/set_github_release.rb +11 -5
  36. data/fastlane/lib/fastlane/actions/setup_ci.rb +13 -4
  37. data/fastlane/lib/fastlane/actions/trainer.rb +49 -0
  38. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +31 -4
  39. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  40. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +10 -1
  41. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
  42. data/fastlane/lib/fastlane/actions/verify_build.rb +1 -1
  43. data/fastlane/lib/fastlane/actions/xcode_install.rb +5 -1
  44. data/fastlane/lib/fastlane/actions/xcode_select.rb +1 -1
  45. data/fastlane/lib/fastlane/actions/xcodebuild.rb +8 -2
  46. data/fastlane/lib/fastlane/actions/xcodes.rb +152 -0
  47. data/fastlane/lib/fastlane/actions/xcov.rb +5 -0
  48. data/fastlane/lib/fastlane/actions/xcversion.rb +17 -7
  49. data/fastlane/lib/fastlane/cli_tools_distributor.rb +5 -0
  50. data/fastlane/lib/fastlane/commands_generator.rb +2 -1
  51. data/fastlane/lib/fastlane/documentation/docs_generator.rb +17 -12
  52. data/fastlane/lib/fastlane/fast_file.rb +18 -5
  53. data/fastlane/lib/fastlane/features.rb +3 -0
  54. data/fastlane/lib/fastlane/helper/xcodebuild_formatter_helper.rb +9 -0
  55. data/fastlane/lib/fastlane/helper/xcodes_helper.rb +28 -0
  56. data/fastlane/lib/fastlane/helper/xcversion_helper.rb +0 -9
  57. data/fastlane/lib/fastlane/lane_manager.rb +1 -1
  58. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
  59. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
  60. data/fastlane/lib/fastlane/setup/setup_ios.rb +1 -1
  61. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +1 -1
  62. data/fastlane/lib/fastlane/swift_lane_manager.rb +11 -3
  63. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +54 -1
  64. data/fastlane/lib/fastlane/tools.rb +18 -1
  65. data/fastlane/lib/fastlane/version.rb +1 -1
  66. data/fastlane/swift/Actions.swift +1 -1
  67. data/fastlane/swift/Appfile.swift +2 -2
  68. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  69. data/fastlane/swift/Atomic.swift +150 -0
  70. data/fastlane/swift/ControlCommand.swift +1 -1
  71. data/fastlane/swift/Deliverfile.swift +2 -2
  72. data/fastlane/swift/DeliverfileProtocol.swift +8 -4
  73. data/fastlane/swift/Fastlane.swift +570 -239
  74. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +30 -20
  75. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme +1 -1
  76. data/fastlane/swift/Gymfile.swift +2 -2
  77. data/fastlane/swift/GymfileProtocol.swift +20 -8
  78. data/fastlane/swift/LaneFileProtocol.swift +2 -2
  79. data/fastlane/swift/MainProcess.swift +3 -3
  80. data/fastlane/swift/Matchfile.swift +2 -2
  81. data/fastlane/swift/MatchfileProtocol.swift +21 -5
  82. data/fastlane/swift/OptionalConfigValue.swift +1 -1
  83. data/fastlane/swift/Plugins.swift +1 -1
  84. data/fastlane/swift/Precheckfile.swift +2 -2
  85. data/fastlane/swift/PrecheckfileProtocol.swift +3 -3
  86. data/fastlane/swift/RubyCommand.swift +1 -1
  87. data/fastlane/swift/RubyCommandable.swift +1 -1
  88. data/fastlane/swift/Runner.swift +13 -9
  89. data/fastlane/swift/RunnerArgument.swift +1 -1
  90. data/fastlane/swift/Scanfile.swift +2 -2
  91. data/fastlane/swift/ScanfileProtocol.swift +31 -11
  92. data/fastlane/swift/Screengrabfile.swift +2 -2
  93. data/fastlane/swift/ScreengrabfileProtocol.swift +3 -3
  94. data/fastlane/swift/Snapshotfile.swift +2 -2
  95. data/fastlane/swift/SnapshotfileProtocol.swift +12 -8
  96. data/fastlane/swift/SocketClient.swift +9 -5
  97. data/fastlane/swift/SocketClientDelegateProtocol.swift +2 -2
  98. data/fastlane/swift/SocketResponse.swift +1 -1
  99. data/fastlane/swift/formatting/Brewfile.lock.json +46 -23
  100. data/fastlane/swift/main.swift +1 -1
  101. data/fastlane/swift/upgrade_manifest.json +1 -1
  102. data/fastlane_core/README.md +1 -0
  103. data/fastlane_core/lib/fastlane_core/cert_checker.rb +79 -17
  104. data/fastlane_core/lib/fastlane_core/device_manager.rb +5 -1
  105. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +10 -5
  106. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +409 -26
  107. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -0
  108. data/fastlane_core/lib/fastlane_core/project.rb +19 -2
  109. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +7 -0
  110. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +4 -2
  111. data/frameit/lib/frameit/device.rb +1 -1
  112. data/frameit/lib/frameit/device_types.rb +9 -0
  113. data/frameit/lib/frameit/editor.rb +16 -18
  114. data/frameit/lib/frameit/frame_downloader.rb +1 -1
  115. data/frameit/lib/frameit/trim_box.rb +6 -0
  116. data/gym/lib/gym/generators/build_command_generator.rb +70 -23
  117. data/gym/lib/gym/options.rb +30 -5
  118. data/match/lib/match/change_password.rb +2 -0
  119. data/match/lib/match/commands_generator.rb +2 -1
  120. data/match/lib/match/encryption/openssl.rb +1 -1
  121. data/match/lib/match/encryption.rb +3 -0
  122. data/match/lib/match/generator.rb +1 -0
  123. data/match/lib/match/importer.rb +10 -1
  124. data/match/lib/match/migrate.rb +4 -3
  125. data/match/lib/match/module.rb +54 -2
  126. data/match/lib/match/nuke.rb +114 -47
  127. data/match/lib/match/options.rb +22 -1
  128. data/match/lib/match/runner.rb +25 -6
  129. data/match/lib/match/setup.rb +1 -1
  130. data/match/lib/match/spaceship_ensure.rb +5 -2
  131. data/match/lib/match/storage/gitlab/client.rb +102 -0
  132. data/match/lib/match/storage/gitlab/secure_file.rb +65 -0
  133. data/match/lib/match/storage/gitlab_secure_files.rb +182 -0
  134. data/match/lib/match/storage/google_cloud_storage.rb +7 -6
  135. data/match/lib/match/storage/s3_storage.rb +3 -3
  136. data/match/lib/match/storage.rb +4 -0
  137. data/match/lib/match/table_printer.rb +2 -1
  138. data/match/lib/match/utils.rb +15 -2
  139. data/pem/lib/pem/manager.rb +30 -7
  140. data/pem/lib/pem/options.rb +9 -0
  141. data/pilot/lib/pilot/build_manager.rb +34 -14
  142. data/pilot/lib/pilot/options.rb +6 -1
  143. data/scan/lib/scan/detect_values.rb +6 -0
  144. data/scan/lib/scan/error_handler.rb +9 -0
  145. data/scan/lib/scan/options.rb +49 -9
  146. data/scan/lib/scan/runner.rb +171 -25
  147. data/scan/lib/scan/test_command_generator.rb +65 -5
  148. data/sigh/lib/sigh/download_all.rb +14 -2
  149. data/sigh/lib/sigh/module.rb +3 -1
  150. data/sigh/lib/sigh/options.rb +5 -0
  151. data/sigh/lib/sigh/runner.rb +12 -2
  152. data/snapshot/lib/assets/SnapshotHelper.swift +3 -3
  153. data/snapshot/lib/snapshot/latest_os_version.rb +2 -5
  154. data/snapshot/lib/snapshot/options.rb +24 -8
  155. data/snapshot/lib/snapshot/reports_generator.rb +1 -0
  156. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +10 -3
  157. data/snapshot/lib/snapshot/test_command_generator.rb +37 -2
  158. data/spaceship/lib/spaceship/client.rb +71 -40
  159. data/spaceship/lib/spaceship/commands_generator.rb +1 -1
  160. data/spaceship/lib/spaceship/connect_api/api_client.rb +10 -5
  161. data/spaceship/lib/spaceship/connect_api/models/actor.rb +26 -0
  162. data/spaceship/lib/spaceship/connect_api/models/app.rb +52 -6
  163. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +1 -0
  164. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +5 -0
  165. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +7 -0
  166. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -1
  167. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +27 -10
  168. data/spaceship/lib/spaceship/connect_api/models/build.rb +4 -2
  169. data/spaceship/lib/spaceship/connect_api/models/build_bundle.rb +68 -0
  170. data/spaceship/lib/spaceship/connect_api/models/build_bundle_file_sizes.rb +34 -0
  171. data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +2 -1
  172. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +4 -0
  173. data/spaceship/lib/spaceship/connect_api/models/device.rb +47 -4
  174. data/spaceship/lib/spaceship/connect_api/models/profile.rb +4 -0
  175. data/spaceship/lib/spaceship/connect_api/models/resolution_center_message.rb +29 -0
  176. data/spaceship/lib/spaceship/connect_api/models/resolution_center_thread.rb +67 -0
  177. data/spaceship/lib/spaceship/connect_api/models/review_rejection.rb +19 -0
  178. data/spaceship/lib/spaceship/connect_api/models/review_submission.rb +86 -0
  179. data/spaceship/lib/spaceship/connect_api/models/review_submission_item.rb +40 -0
  180. data/spaceship/lib/spaceship/connect_api/models/user.rb +5 -0
  181. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +19 -0
  182. data/spaceship/lib/spaceship/connect_api/response.rb +23 -6
  183. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +33 -2
  184. data/spaceship/lib/spaceship/connect_api/token.rb +5 -2
  185. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +124 -8
  186. data/spaceship/lib/spaceship/connect_api.rb +9 -0
  187. data/spaceship/lib/spaceship/errors.rb +34 -0
  188. data/spaceship/lib/spaceship/globals.rb +9 -0
  189. data/spaceship/lib/spaceship/hashcash.rb +52 -0
  190. data/spaceship/lib/spaceship/portal/certificate.rb +4 -3
  191. data/spaceship/lib/spaceship/spaceauth_runner.rb +1 -1
  192. data/spaceship/lib/spaceship/tunes/app_ratings.rb +6 -6
  193. data/spaceship/lib/spaceship/tunes/iap_families.rb +1 -1
  194. data/spaceship/lib/spaceship/tunes/tunes.rb +0 -1
  195. data/spaceship/lib/spaceship/tunes/tunes_client.rb +79 -21
  196. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +11 -3
  197. data/spaceship/lib/spaceship.rb +1 -0
  198. data/supply/lib/supply/client.rb +2 -7
  199. data/supply/lib/supply/options.rb +8 -0
  200. data/supply/lib/supply/uploader.rb +6 -2
  201. data/trainer/lib/assets/junit.xml.erb +28 -0
  202. data/trainer/lib/trainer/commands_generator.rb +51 -0
  203. data/trainer/lib/trainer/junit_generator.rb +31 -0
  204. data/trainer/lib/trainer/module.rb +10 -0
  205. data/trainer/lib/trainer/options.rb +66 -0
  206. data/trainer/lib/trainer/test_parser.rb +398 -0
  207. data/trainer/lib/trainer/xcresult.rb +403 -0
  208. data/trainer/lib/trainer.rb +7 -0
  209. metadata +49 -24
  210. data/spaceship/lib/spaceship/connect_api/testflight/.testflight.rb.swp +0 -0
  211. data/spaceship/lib/spaceship/tunes/user_detail.rb +0 -15
@@ -10,6 +10,7 @@
10
10
  0311E387230AC1B20060BB5C /* Plugins.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0311E386230AC1B20060BB5C /* Plugins.swift */; };
11
11
  0311E38B230AC9490060BB5C /* Actions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0311E38A230AC9490060BB5C /* Actions.swift */; };
12
12
  1257253924B7992C00E04FA3 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1257253824B7992B00E04FA3 /* main.swift */; };
13
+ 1267C3F42773A43E004DE48A /* Atomic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1267C3F32773A43E004DE48A /* Atomic.swift */; };
13
14
  12D2EB8D2620D83C00844013 /* OptionalConfigValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12D2EB8C2620D83B00844013 /* OptionalConfigValue.swift */; };
14
15
  B302067B1F5E3E9000DE6EBD /* SnapshotfileProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = B30206741F5E3E9000DE6EBD /* SnapshotfileProtocol.swift */; };
15
16
  B302067C1F5E3E9000DE6EBD /* GymfileProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = B30206751F5E3E9000DE6EBD /* GymfileProtocol.swift */; };
@@ -26,6 +27,7 @@
26
27
  B3BA65AC1F5A269100B34850 /* SocketClientDelegateProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BA65A31F5A269100B34850 /* SocketClientDelegateProtocol.swift */; };
27
28
  B3BA65AD1F5A269100B34850 /* SocketResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BA65A41F5A269100B34850 /* SocketResponse.swift */; };
28
29
  B3BA65AF1F5A2D5C00B34850 /* RunnerArgument.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BA65AE1F5A2D5C00B34850 /* RunnerArgument.swift */; };
30
+ C0459CAC27261897002CDFB9 /* FastlaneRunner in CopyFiles */ = {isa = PBXBuildFile; fileRef = D556D6A91F6A08F5003108E3 /* FastlaneRunner */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
29
31
  D55B28C31F6C588300DC42C5 /* Deliverfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55B28BC1F6C588300DC42C5 /* Deliverfile.swift */; };
30
32
  D55B28C41F6C588300DC42C5 /* Gymfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55B28BD1F6C588300DC42C5 /* Gymfile.swift */; };
31
33
  D55B28C51F6C588300DC42C5 /* Matchfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55B28BE1F6C588300DC42C5 /* Matchfile.swift */; };
@@ -40,10 +42,24 @@
40
42
  D5D1DE991FFEE8EA00502A00 /* RubyCommandable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5D1DE981FFEE8E900502A00 /* RubyCommandable.swift */; };
41
43
  /* End PBXBuildFile section */
42
44
 
45
+ /* Begin PBXCopyFilesBuildPhase section */
46
+ C0459CAB27261886002CDFB9 /* CopyFiles */ = {
47
+ isa = PBXCopyFilesBuildPhase;
48
+ buildActionMask = 2147483647;
49
+ dstPath = $SRCROOT/../..;
50
+ dstSubfolderSpec = 0;
51
+ files = (
52
+ C0459CAC27261897002CDFB9 /* FastlaneRunner in CopyFiles */,
53
+ );
54
+ runOnlyForDeploymentPostprocessing = 0;
55
+ };
56
+ /* End PBXCopyFilesBuildPhase section */
57
+
43
58
  /* Begin PBXFileReference section */
44
59
  0311E386230AC1B20060BB5C /* Plugins.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Plugins.swift; path = ../Plugins.swift; sourceTree = "<group>"; };
45
60
  0311E38A230AC9490060BB5C /* Actions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Actions.swift; path = ../Actions.swift; sourceTree = "<group>"; };
46
61
  1257253824B7992B00E04FA3 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = main.swift; path = ../main.swift; sourceTree = "<group>"; };
62
+ 1267C3F32773A43E004DE48A /* Atomic.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Atomic.swift; path = ../Atomic.swift; sourceTree = "<group>"; };
47
63
  12D2EB8C2620D83B00844013 /* OptionalConfigValue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OptionalConfigValue.swift; path = ../OptionalConfigValue.swift; sourceTree = "<group>"; };
48
64
  B30206741F5E3E9000DE6EBD /* SnapshotfileProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SnapshotfileProtocol.swift; path = ../SnapshotfileProtocol.swift; sourceTree = "<group>"; };
49
65
  B30206751F5E3E9000DE6EBD /* GymfileProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GymfileProtocol.swift; path = ../GymfileProtocol.swift; sourceTree = "<group>"; };
@@ -121,6 +137,7 @@
121
137
  B3BA65B11F5A325E00B34850 /* Networking */ = {
122
138
  isa = PBXGroup;
123
139
  children = (
140
+ 1267C3F32773A43E004DE48A /* Atomic.swift */,
124
141
  B3144C072005533400470AFE /* README.txt */,
125
142
  D5B8A5B21FFDC49D00536B24 /* ControlCommand.swift */,
126
143
  B3BA65A01F5A269100B34850 /* RubyCommand.swift */,
@@ -181,7 +198,7 @@
181
198
  buildPhases = (
182
199
  B33BAF531F51F8D90001A751 /* Sources */,
183
200
  B33BAF541F51F8D90001A751 /* Frameworks */,
184
- D529C72B1F68BB1C0036536D /* ShellScript */,
201
+ C0459CAB27261886002CDFB9 /* CopyFiles */,
185
202
  );
186
203
  buildRules = (
187
204
  );
@@ -199,7 +216,7 @@
199
216
  isa = PBXProject;
200
217
  attributes = {
201
218
  LastSwiftUpdateCheck = 0830;
202
- LastUpgradeCheck = 0900;
219
+ LastUpgradeCheck = 1300;
203
220
  ORGANIZATIONNAME = "Joshua Liebowitz";
204
221
  TargetAttributes = {
205
222
  B33BAF561F51F8D90001A751 = {
@@ -211,11 +228,11 @@
211
228
  };
212
229
  buildConfigurationList = B33BAF521F51F8D90001A751 /* Build configuration list for PBXProject "FastlaneSwiftRunner" */;
213
230
  compatibilityVersion = "Xcode 3.2";
214
- developmentRegion = English;
231
+ developmentRegion = en;
215
232
  hasScannedForEncodings = 0;
216
233
  knownRegions = (
217
- English,
218
234
  en,
235
+ Base,
219
236
  );
220
237
  mainGroup = B33BAF4E1F51F8D90001A751;
221
238
  productRefGroup = B33BAF4E1F51F8D90001A751;
@@ -227,22 +244,6 @@
227
244
  };
228
245
  /* End PBXProject section */
229
246
 
230
- /* Begin PBXShellScriptBuildPhase section */
231
- D529C72B1F68BB1C0036536D /* ShellScript */ = {
232
- isa = PBXShellScriptBuildPhase;
233
- buildActionMask = 2147483647;
234
- files = (
235
- );
236
- inputPaths = (
237
- );
238
- outputPaths = (
239
- );
240
- runOnlyForDeploymentPostprocessing = 0;
241
- shellPath = /bin/sh;
242
- shellScript = "cd \"${SRCROOT}\"\ncd ../..\ncp \"${TARGET_BUILD_DIR}/${EXECUTABLE_PATH}\" .\n";
243
- };
244
- /* End PBXShellScriptBuildPhase section */
245
-
246
247
  /* Begin PBXSourcesBuildPhase section */
247
248
  B33BAF531F51F8D90001A751 /* Sources */ = {
248
249
  isa = PBXSourcesBuildPhase;
@@ -252,6 +253,7 @@
252
253
  D5D1DE991FFEE8EA00502A00 /* RubyCommandable.swift in Sources */,
253
254
  D55B28C41F6C588300DC42C5 /* Gymfile.swift in Sources */,
254
255
  B302067D1F5E3E9000DE6EBD /* MatchfileProtocol.swift in Sources */,
256
+ 1267C3F42773A43E004DE48A /* Atomic.swift in Sources */,
255
257
  B3BA65AC1F5A269100B34850 /* SocketClientDelegateProtocol.swift in Sources */,
256
258
  B3BA65A71F5A269100B34850 /* LaneFileProtocol.swift in Sources */,
257
259
  D55B28C61F6C588300DC42C5 /* Precheckfile.swift in Sources */,
@@ -299,6 +301,7 @@
299
301
  CLANG_WARN_BOOL_CONVERSION = YES;
300
302
  CLANG_WARN_COMMA = YES;
301
303
  CLANG_WARN_CONSTANT_CONVERSION = YES;
304
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
302
305
  CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
303
306
  CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
304
307
  CLANG_WARN_EMPTY_BODY = YES;
@@ -306,8 +309,10 @@
306
309
  CLANG_WARN_INFINITE_RECURSION = YES;
307
310
  CLANG_WARN_INT_CONVERSION = YES;
308
311
  CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
312
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
309
313
  CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
310
314
  CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
315
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
311
316
  CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
312
317
  CLANG_WARN_STRICT_PROTOTYPES = YES;
313
318
  CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -355,6 +360,7 @@
355
360
  CLANG_WARN_BOOL_CONVERSION = YES;
356
361
  CLANG_WARN_COMMA = YES;
357
362
  CLANG_WARN_CONSTANT_CONVERSION = YES;
363
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
358
364
  CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
359
365
  CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
360
366
  CLANG_WARN_EMPTY_BODY = YES;
@@ -362,8 +368,10 @@
362
368
  CLANG_WARN_INFINITE_RECURSION = YES;
363
369
  CLANG_WARN_INT_CONVERSION = YES;
364
370
  CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
371
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
365
372
  CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
366
373
  CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
374
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
367
375
  CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
368
376
  CLANG_WARN_STRICT_PROTOTYPES = YES;
369
377
  CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -394,6 +402,7 @@
394
402
  isa = XCBuildConfiguration;
395
403
  buildSettings = {
396
404
  CLANG_ENABLE_MODULES = YES;
405
+ CODE_SIGN_IDENTITY = "-";
397
406
  LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
398
407
  PRODUCT_NAME = "$(TARGET_NAME)";
399
408
  SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -405,6 +414,7 @@
405
414
  isa = XCBuildConfiguration;
406
415
  buildSettings = {
407
416
  CLANG_ENABLE_MODULES = YES;
417
+ CODE_SIGN_IDENTITY = "-";
408
418
  LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
409
419
  PRODUCT_NAME = "$(TARGET_NAME)";
410
420
  SWIFT_VERSION = 4.0;
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <Scheme
3
- LastUpgradeVersion = "0900"
3
+ LastUpgradeVersion = "1300"
4
4
  version = "1.3">
5
5
  <BuildAction
6
6
  parallelizeBuildables = "YES"
@@ -1,5 +1,5 @@
1
1
  // Gymfile.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  // This class is automatically included in FastlaneRunner during build
5
5
 
@@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.196.0
20
+ // Generated with fastlane 2.212.2
@@ -1,7 +1,7 @@
1
1
  // GymfileProtocol.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
- public protocol GymfileProtocol: class {
4
+ public protocol GymfileProtocol: AnyObject {
5
5
  /// Path to the workspace file
6
6
  var workspace: String? { get }
7
7
 
@@ -104,7 +104,13 @@ public protocol GymfileProtocol: class {
104
104
  /// Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
105
105
  var suppressXcodeOutput: Bool? { get }
106
106
 
107
- /// Disable xcpretty formatting of build output
107
+ /// xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)
108
+ var xcodebuildFormatter: String { get }
109
+
110
+ /// Create a build timing summary
111
+ var buildTimingSummary: Bool { get }
112
+
113
+ /// **DEPRECATED!** Use `xcodebuild_formatter: ''` instead - Disable xcpretty formatting of build output
108
114
  var disableXcpretty: Bool? { get }
109
115
 
110
116
  /// Use the test (RSpec style) format for build output
@@ -122,15 +128,18 @@ public protocol GymfileProtocol: class {
122
128
  /// Have xcpretty create a JSON compilation database at the provided path
123
129
  var xcprettyReportJson: String? { get }
124
130
 
125
- /// Analyze the project build time and store the output in 'culprits.txt' file
126
- var analyzeBuildTime: Bool? { get }
127
-
128
131
  /// Have xcpretty use unicode encoding when reporting builds
129
132
  var xcprettyUtf: Bool? { get }
130
133
 
134
+ /// Analyze the project build time and store the output in 'culprits.txt' file
135
+ var analyzeBuildTime: Bool? { get }
136
+
131
137
  /// Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
132
138
  var skipProfileDetection: Bool { get }
133
139
 
140
+ /// Allows for override of the default `xcodebuild` command
141
+ var xcodebuildCommand: String { get }
142
+
134
143
  /// Sets a custom path for Swift Package Manager dependencies
135
144
  var clonedSourcePackagesPath: String? { get }
136
145
 
@@ -179,15 +188,18 @@ public extension GymfileProtocol {
179
188
  var xcargs: String? { return nil }
180
189
  var xcconfig: String? { return nil }
181
190
  var suppressXcodeOutput: Bool? { return nil }
191
+ var xcodebuildFormatter: String { return "xcbeautify" }
192
+ var buildTimingSummary: Bool { return false }
182
193
  var disableXcpretty: Bool? { return nil }
183
194
  var xcprettyTestFormat: Bool? { return nil }
184
195
  var xcprettyFormatter: String? { return nil }
185
196
  var xcprettyReportJunit: String? { return nil }
186
197
  var xcprettyReportHtml: String? { return nil }
187
198
  var xcprettyReportJson: String? { return nil }
188
- var analyzeBuildTime: Bool? { return nil }
189
199
  var xcprettyUtf: Bool? { return nil }
200
+ var analyzeBuildTime: Bool? { return nil }
190
201
  var skipProfileDetection: Bool { return false }
202
+ var xcodebuildCommand: String { return "xcodebuild" }
191
203
  var clonedSourcePackagesPath: String? { return nil }
192
204
  var skipPackageDependenciesResolution: Bool { return false }
193
205
  var disablePackageAutomaticUpdates: Bool { return false }
@@ -196,4 +208,4 @@ public extension GymfileProtocol {
196
208
 
197
209
  // Please don't remove the lines below
198
210
  // They are used to detect outdated files
199
- // FastlaneRunnerAPIVersion [0.9.88]
211
+ // FastlaneRunnerAPIVersion [0.9.118]
@@ -1,5 +1,5 @@
1
1
  // LaneFileProtocol.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  //
5
5
  // ** NOTE **
@@ -10,7 +10,7 @@
10
10
 
11
11
  import Foundation
12
12
 
13
- public protocol LaneFileProtocol: class {
13
+ public protocol LaneFileProtocol: AnyObject {
14
14
  var fastlaneVersion: String { get }
15
15
  static func runLane(from fastfile: LaneFile?, named lane: String, with parameters: [String: String]) -> Bool
16
16
 
@@ -1,5 +1,5 @@
1
1
  // MainProcess.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  //
5
5
  // ** NOTE **
@@ -47,9 +47,9 @@ class MainProcess {
47
47
  let PATH = run("/bin/bash", "-c", "-l", "eval $(/usr/libexec/path_helper -s) ; echo $PATH").stdout
48
48
  main.env["PATH"] = PATH
49
49
  let path = main.run(bash: "which fastlane").stdout
50
- let pids = main.run("lsof", "-t", "-i", ":2000").stdout.split(separator: "\n")
50
+ let pids = main.run("lsof", "-t", "-i", ":\(argumentProcessor.port)").stdout.split(separator: "\n")
51
51
  pids.forEach { main.run("kill", "-9", $0) }
52
- rubySocketCommand = main.runAsync(path, "socket_server", "-c", "1200")
52
+ rubySocketCommand = main.runAsync(path, "socket_server", "-c", argumentProcessor.commandTimeout, "-p", argumentProcessor.port)
53
53
  lastPrintDate = Date()
54
54
  rubySocketCommand.stderror.onStringOutput { print($0) }
55
55
  rubySocketCommand.stdout.onStringOutput { stdout in
@@ -1,5 +1,5 @@
1
1
  // Matchfile.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  // This class is automatically included in FastlaneRunner during build
5
5
 
@@ -17,4 +17,4 @@ public class Matchfile: MatchfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.196.0
20
+ // Generated with fastlane 2.212.2
@@ -1,8 +1,8 @@
1
1
  // MatchfileProtocol.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
- public protocol MatchfileProtocol: class {
5
- /// Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution
4
+ public protocol MatchfileProtocol: AnyObject {
5
+ /// Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution, developer_id_installer
6
6
  var type: String { get }
7
7
 
8
8
  /// Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer)
@@ -74,6 +74,9 @@ public protocol MatchfileProtocol: class {
74
74
  /// ID of the Google Cloud project to use for authentication
75
75
  var googleCloudProjectId: String? { get }
76
76
 
77
+ /// Skips confirming to use the system google account
78
+ var skipGoogleCloudAccountConfirmation: Bool { get }
79
+
77
80
  /// Name of the S3 region
78
81
  var s3Region: String? { get }
79
82
 
@@ -89,6 +92,9 @@ public protocol MatchfileProtocol: class {
89
92
  /// Prefix to be used on all objects uploaded to S3
90
93
  var s3ObjectPrefix: String? { get }
91
94
 
95
+ /// GitLab Project Path (i.e. 'gitlab-org/gitlab')
96
+ var gitlabProject: String? { get }
97
+
92
98
  /// Keychain the items should be imported to
93
99
  var keychainName: String { get }
94
100
 
@@ -101,15 +107,21 @@ public protocol MatchfileProtocol: class {
101
107
  /// Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
102
108
  var forceForNewDevices: Bool { get }
103
109
 
110
+ /// Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
111
+ var includeMacInProfiles: Bool { get }
112
+
104
113
  /// Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
105
114
  var includeAllCertificates: Bool { get }
106
115
 
107
- /// Renew the provisioning profiles if the device count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
116
+ /// Renew the provisioning profiles if the certificate count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
108
117
  var forceForNewCertificates: Bool { get }
109
118
 
110
119
  /// Disables confirmation prompts during nuke, answering them with yes
111
120
  var skipConfirmation: Bool { get }
112
121
 
122
+ /// Remove certs from repository during nuke without revoking them on the developer portal
123
+ var safeRemoveCerts: Bool { get }
124
+
113
125
  /// Skip generation of a README.md for the created git repository
114
126
  var skipDocs: Bool { get }
115
127
 
@@ -166,18 +178,22 @@ public extension MatchfileProtocol {
166
178
  var googleCloudBucketName: String? { return nil }
167
179
  var googleCloudKeysFile: String? { return nil }
168
180
  var googleCloudProjectId: String? { return nil }
181
+ var skipGoogleCloudAccountConfirmation: Bool { return false }
169
182
  var s3Region: String? { return nil }
170
183
  var s3AccessKey: String? { return nil }
171
184
  var s3SecretAccessKey: String? { return nil }
172
185
  var s3Bucket: String? { return nil }
173
186
  var s3ObjectPrefix: String? { return nil }
187
+ var gitlabProject: String? { return nil }
174
188
  var keychainName: String { return "login.keychain" }
175
189
  var keychainPassword: String? { return nil }
176
190
  var force: Bool { return false }
177
191
  var forceForNewDevices: Bool { return false }
192
+ var includeMacInProfiles: Bool { return false }
178
193
  var includeAllCertificates: Bool { return false }
179
194
  var forceForNewCertificates: Bool { return false }
180
195
  var skipConfirmation: Bool { return false }
196
+ var safeRemoveCerts: Bool { return false }
181
197
  var skipDocs: Bool { return false }
182
198
  var platform: String { return "ios" }
183
199
  var deriveCatalystAppIdentifier: Bool { return false }
@@ -192,4 +208,4 @@ public extension MatchfileProtocol {
192
208
 
193
209
  // Please don't remove the lines below
194
210
  // They are used to detect outdated files
195
- // FastlaneRunnerAPIVersion [0.9.82]
211
+ // FastlaneRunnerAPIVersion [0.9.112]
@@ -1,5 +1,5 @@
1
1
  // OptionalConfigValue.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  //
5
5
  // ** NOTE **
@@ -1,5 +1,5 @@
1
1
  // Plugins.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  // This autogenerated file will be overwritten or replaced when installing/updating plugins or running "fastlane generate_swift"
5
5
  //
@@ -1,5 +1,5 @@
1
1
  // Precheckfile.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  // This class is automatically included in FastlaneRunner during build
5
5
 
@@ -17,4 +17,4 @@ public class Precheckfile: PrecheckfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.196.0
20
+ // Generated with fastlane 2.212.2
@@ -1,7 +1,7 @@
1
1
  // PrecheckfileProtocol.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
- public protocol PrecheckfileProtocol: class {
4
+ public protocol PrecheckfileProtocol: AnyObject {
5
5
  /// Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
6
6
  var apiKeyPath: String? { get }
7
7
 
@@ -52,4 +52,4 @@ public extension PrecheckfileProtocol {
52
52
 
53
53
  // Please don't remove the lines below
54
54
  // They are used to detect outdated files
55
- // FastlaneRunnerAPIVersion [0.9.81]
55
+ // FastlaneRunnerAPIVersion [0.9.111]
@@ -1,5 +1,5 @@
1
1
  // RubyCommand.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  //
5
5
  // ** NOTE **
@@ -1,5 +1,5 @@
1
1
  // RubyCommandable.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  //
5
5
  // ** NOTE **
@@ -1,5 +1,5 @@
1
1
  // Runner.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  //
5
5
  // ** NOTE **
@@ -10,13 +10,9 @@
10
10
 
11
11
  import Foundation
12
12
 
13
- let logger: Logger = {
14
- Logger()
15
- }()
13
+ let logger: Logger = .init()
16
14
 
17
- let runner: Runner = {
18
- Runner()
19
- }()
15
+ let runner: Runner = .init()
20
16
 
21
17
  func desc(_: String) {
22
18
  // no-op, this is handled in fastlane/lane_list.rb
@@ -29,7 +25,13 @@ class Runner {
29
25
  private var returnValue: String? // lol, so safe
30
26
  private var currentlyExecutingCommand: RubyCommandable?
31
27
  private var shouldLeaveDispatchGroupDuringDisconnect = false
32
- private var executeNext: [String: Bool] = [:]
28
+ private var executeNext: AtomicDictionary<String, Bool> = {
29
+ if #available(macOS 10.12, *) {
30
+ return UnfairAtomicDictionary<String, Bool>()
31
+ } else {
32
+ return OSSPinAtomicDictionary<String, Bool>()
33
+ }
34
+ }()
33
35
 
34
36
  func executeCommand(_ command: RubyCommandable) -> String {
35
37
  dispatchGroup.enter()
@@ -71,7 +73,7 @@ class Runner {
71
73
 
72
74
  let runLoop = RunLoop.current
73
75
  let timeoutDate = Date(timeInterval: TimeInterval(timeout), since: Date())
74
- var fulfilled: Bool = false
76
+ var fulfilled = false
75
77
  let _expression = memoizedClosure(expression)
76
78
  repeat {
77
79
  do {
@@ -265,6 +267,8 @@ private extension DispatchTimeInterval {
265
267
  result = TimeInterval(value) * 0.000_000_001
266
268
  case .never:
267
269
  fatalError()
270
+ @unknown default:
271
+ fatalError()
268
272
  }
269
273
  return result
270
274
  }
@@ -1,5 +1,5 @@
1
1
  // RunnerArgument.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  //
5
5
  // ** NOTE **
@@ -1,5 +1,5 @@
1
1
  // Scanfile.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  // This class is automatically included in FastlaneRunner during build
5
5
 
@@ -17,4 +17,4 @@ public class Scanfile: ScanfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.196.0
20
+ // Generated with fastlane 2.212.2
@@ -1,7 +1,7 @@
1
1
  // ScanfileProtocol.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
- public protocol ScanfileProtocol: class {
4
+ public protocol ScanfileProtocol: AnyObject {
5
5
  /// Path to the workspace file
6
6
  var workspace: String? { get }
7
7
 
@@ -14,10 +14,10 @@ public protocol ScanfileProtocol: class {
14
14
  /// The project's scheme. Make sure it's marked as `Shared`
15
15
  var scheme: String? { get }
16
16
 
17
- /// The name of the simulator type you want to run tests on (e.g. 'iPhone 6')
17
+ /// The name of the simulator type you want to run tests on (e.g. 'iPhone 6' or 'iPhone SE (2nd generation) (14.5)')
18
18
  var device: String? { get }
19
19
 
20
- /// Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air'])
20
+ /// Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air', 'iPhone SE (2nd generation) (14.5)'])
21
21
  var devices: [String]? { get }
22
22
 
23
23
  /// Should skip auto detecting of devices if none were specified
@@ -80,9 +80,6 @@ public protocol ScanfileProtocol: class {
80
80
  /// Should the HTML report be opened when tests are completed?
81
81
  var openReport: Bool { get }
82
82
 
83
- /// Disable xcpretty formatting of build, similar to `output_style='raw'` but this will also skip the test results table
84
- var disableXcpretty: Bool? { get }
85
-
86
83
  /// The directory in which all reports will be stored
87
84
  var outputDirectory: String { get }
88
85
 
@@ -104,9 +101,21 @@ public protocol ScanfileProtocol: class {
104
101
  /// Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
105
102
  var suppressXcodeOutput: Bool? { get }
106
103
 
107
- /// A custom xcpretty formatter to use
104
+ /// xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)
105
+ var xcodebuildFormatter: String { get }
106
+
107
+ /// Remove retry attempts from test results table and the JUnit report (if not using xcpretty)
108
+ var outputRemoveRetryAttempts: Bool { get }
109
+
110
+ /// **DEPRECATED!** Use `output_style: 'raw'` instead - Disable xcpretty formatting of build, similar to `output_style='raw'` but this will also skip the test results table
111
+ var disableXcpretty: Bool? { get }
112
+
113
+ /// **DEPRECATED!** Use 'xcpretty_formatter' instead - A custom xcpretty formatter to use
108
114
  var formatter: String? { get }
109
115
 
116
+ /// A custom xcpretty formatter to use
117
+ var xcprettyFormatter: String? { get }
118
+
110
119
  /// Pass in xcpretty additional command line arguments (e.g. '--test --no-color' or '--tap --no-utf')
111
120
  var xcprettyArgs: String? { get }
112
121
 
@@ -119,12 +128,18 @@ public protocol ScanfileProtocol: class {
119
128
  /// Should provide additional copy of .xctestrun file (settings.xctestrun) and place in output path?
120
129
  var outputXctestrun: Bool { get }
121
130
 
131
+ /// Custom path for the result bundle, overrides result_bundle
132
+ var resultBundlePath: String? { get }
133
+
122
134
  /// Should an Xcode result bundle be generated in the output directory
123
135
  var resultBundle: Bool { get }
124
136
 
125
137
  /// Generate the json compilation database with clang naming convention (compile_commands.json)
126
138
  var useClangReportName: Bool { get }
127
139
 
140
+ /// Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled
141
+ var parallelTesting: Bool? { get }
142
+
128
143
  /// Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to -parallel-testing-worker-count
129
144
  var concurrentWorkers: Int? { get }
130
145
 
@@ -212,7 +227,7 @@ public protocol ScanfileProtocol: class {
212
227
  /// Lets xcodebuild use system's scm configuration
213
228
  var useSystemScm: Bool { get }
214
229
 
215
- /// The number of times a test can fail before scan should stop retrying
230
+ /// The number of times a test can fail
216
231
  var numberOfRetries: Int { get }
217
232
 
218
233
  /// Should this step stop the build if the tests fail? Set this to false if you're using trainer
@@ -246,7 +261,6 @@ public extension ScanfileProtocol {
246
261
  var addressSanitizer: Bool? { return nil }
247
262
  var threadSanitizer: Bool? { return nil }
248
263
  var openReport: Bool { return false }
249
- var disableXcpretty: Bool? { return nil }
250
264
  var outputDirectory: String { return "./test_output" }
251
265
  var outputStyle: String? { return nil }
252
266
  var outputTypes: String { return "html,junit" }
@@ -254,13 +268,19 @@ public extension ScanfileProtocol {
254
268
  var buildlogPath: String { return "~/Library/Logs/scan" }
255
269
  var includeSimulatorLogs: Bool { return false }
256
270
  var suppressXcodeOutput: Bool? { return nil }
271
+ var xcodebuildFormatter: String { return "xcbeautify" }
272
+ var outputRemoveRetryAttempts: Bool { return false }
273
+ var disableXcpretty: Bool? { return nil }
257
274
  var formatter: String? { return nil }
275
+ var xcprettyFormatter: String? { return nil }
258
276
  var xcprettyArgs: String? { return nil }
259
277
  var derivedDataPath: String? { return nil }
260
278
  var shouldZipBuildProducts: Bool { return false }
261
279
  var outputXctestrun: Bool { return false }
280
+ var resultBundlePath: String? { return nil }
262
281
  var resultBundle: Bool { return false }
263
282
  var useClangReportName: Bool { return false }
283
+ var parallelTesting: Bool? { return nil }
264
284
  var concurrentWorkers: Int? { return nil }
265
285
  var maxConcurrentSimulators: Int? { return nil }
266
286
  var disableConcurrentTesting: Bool { return false }
@@ -296,4 +316,4 @@ public extension ScanfileProtocol {
296
316
 
297
317
  // Please don't remove the lines below
298
318
  // They are used to detect outdated files
299
- // FastlaneRunnerAPIVersion [0.9.93]
319
+ // FastlaneRunnerAPIVersion [0.9.123]
@@ -1,5 +1,5 @@
1
1
  // Screengrabfile.swift
2
- // Copyright (c) 2021 FastlaneTools
2
+ // Copyright (c) 2023 FastlaneTools
3
3
 
4
4
  // This class is automatically included in FastlaneRunner during build
5
5
 
@@ -17,4 +17,4 @@ public class Screengrabfile: ScreengrabfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.196.0
20
+ // Generated with fastlane 2.212.2