fastlane 2.128.1 → 2.133.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +72 -72
  3. data/cert/lib/cert/module.rb +2 -0
  4. data/cert/lib/cert/options.rb +6 -0
  5. data/cert/lib/cert/runner.rb +17 -11
  6. data/deliver/lib/deliver/submit_for_review.rb +1 -1
  7. data/fastlane/lib/fastlane.rb +4 -1
  8. data/fastlane/lib/fastlane/actions/.hockey.rb.swp +0 -0
  9. data/fastlane/lib/fastlane/actions/actions_helper.rb +4 -0
  10. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +11 -3
  11. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +1 -1
  12. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +1 -1
  13. data/fastlane/lib/fastlane/actions/carthage.rb +4 -3
  14. data/fastlane/lib/fastlane/actions/commit_github_file.rb +1 -1
  15. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +1 -1
  16. data/fastlane/lib/fastlane/actions/danger.rb +7 -0
  17. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +23 -4
  18. data/fastlane/lib/fastlane/actions/download_dsyms.rb +35 -9
  19. data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +58 -0
  20. data/fastlane/lib/fastlane/actions/get_version_number.rb +21 -2
  21. data/fastlane/lib/fastlane/actions/github_api.rb +1 -1
  22. data/fastlane/lib/fastlane/actions/gradle.rb +37 -8
  23. data/fastlane/lib/fastlane/actions/import_from_git.rb +1 -1
  24. data/fastlane/lib/fastlane/actions/onesignal.rb +59 -29
  25. data/fastlane/lib/fastlane/actions/pod_push.rb +29 -10
  26. data/fastlane/lib/fastlane/actions/puts.rb +1 -1
  27. data/fastlane/lib/fastlane/actions/register_devices.rb +38 -22
  28. data/fastlane/lib/fastlane/actions/resign.rb +2 -2
  29. data/fastlane/lib/fastlane/actions/slather.rb +1 -0
  30. data/fastlane/lib/fastlane/actions/sonar.rb +18 -0
  31. data/fastlane/lib/fastlane/actions/update_fastlane.rb +1 -1
  32. data/fastlane/lib/fastlane/commands_generator.rb +17 -1
  33. data/fastlane/lib/fastlane/fast_file.rb +7 -2
  34. data/fastlane/lib/fastlane/helper/adb_helper.rb +5 -0
  35. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +12 -6
  36. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +2 -0
  37. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +3 -0
  38. data/fastlane/lib/fastlane/setup/setup_android.rb +1 -1
  39. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +126 -34
  40. data/fastlane/lib/fastlane/swift_fastlane_function.rb +82 -9
  41. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +4 -0
  42. data/fastlane/lib/fastlane/version.rb +1 -1
  43. data/fastlane/swift/Actions.swift +15 -0
  44. data/fastlane/swift/Deliverfile.swift +1 -1
  45. data/fastlane/swift/DeliverfileProtocol.swift +121 -1
  46. data/fastlane/swift/Fastlane.swift +4164 -291
  47. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +9 -0
  48. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  49. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  50. data/fastlane/swift/Gymfile.swift +1 -1
  51. data/fastlane/swift/GymfileProtocol.swift +93 -11
  52. data/fastlane/swift/Matchfile.swift +1 -1
  53. data/fastlane/swift/MatchfileProtocol.swift +65 -1
  54. data/fastlane/swift/Plugins.swift +15 -0
  55. data/fastlane/swift/Precheckfile.swift +1 -1
  56. data/fastlane/swift/PrecheckfileProtocol.swift +15 -2
  57. data/fastlane/swift/Scanfile.swift +1 -1
  58. data/fastlane/swift/ScanfileProtocol.swift +111 -3
  59. data/fastlane/swift/Screengrabfile.swift +1 -1
  60. data/fastlane/swift/ScreengrabfileProtocol.swift +39 -2
  61. data/fastlane/swift/Snapshotfile.swift +1 -1
  62. data/fastlane/swift/SnapshotfileProtocol.swift +71 -1
  63. data/fastlane/swift/upgrade_manifest.json +1 -1
  64. data/fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb +1 -1
  65. data/fastlane_core/lib/fastlane_core/command_executor.rb +1 -1
  66. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +1 -1
  67. data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
  68. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +1 -3
  69. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +3 -2
  70. data/frameit/lib/frameit/editor.rb +1 -1
  71. data/frameit/lib/frameit/screenshot.rb +4 -0
  72. data/gym/lib/gym/.runner.rb.swp +0 -0
  73. data/gym/lib/gym/generators/build_command_generator.rb +5 -1
  74. data/gym/lib/gym/options.rb +17 -17
  75. data/gym/lib/gym/runner.rb +33 -5
  76. data/match/lib/match/generator.rb +1 -0
  77. data/match/lib/match/importer.rb +1 -1
  78. data/match/lib/match/module.rb +2 -0
  79. data/match/lib/match/nuke.rb +6 -6
  80. data/match/lib/match/options.rb +17 -0
  81. data/match/lib/match/runner.rb +12 -8
  82. data/match/lib/match/storage/git_storage.rb +8 -2
  83. data/match/lib/match/storage/google_cloud_storage.rb +85 -33
  84. data/match/lib/match/storage/interface.rb +1 -1
  85. data/produce/lib/produce/service.rb +7 -1
  86. data/scan/lib/scan/options.rb +1 -1
  87. data/scan/lib/scan/runner.rb +1 -1
  88. data/sigh/lib/sigh/download_all.rb +48 -8
  89. data/sigh/lib/sigh/runner.rb +13 -5
  90. data/snapshot/lib/assets/SnapshotHelper.swift +3 -3
  91. data/snapshot/lib/snapshot/commands_generator.rb +2 -2
  92. data/snapshot/lib/snapshot/options.rb +5 -0
  93. data/snapshot/lib/snapshot/reports_generator.rb +3 -0
  94. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  95. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  96. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +16 -1
  97. data/snapshot/lib/snapshot/update.rb +4 -2
  98. data/spaceship/lib/spaceship/client.rb +1 -1
  99. data/spaceship/lib/spaceship/connect_api/models/app.rb +6 -6
  100. data/spaceship/lib/spaceship/connect_api/models/beta_tester_metric.rb +1 -0
  101. data/spaceship/lib/spaceship/connect_api/models/build.rb +3 -3
  102. data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +1 -1
  103. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +1 -1
  104. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +1 -1
  105. data/spaceship/lib/spaceship/connect_api/models/device.rb +1 -1
  106. data/spaceship/lib/spaceship/connect_api/models/profile.rb +1 -1
  107. data/spaceship/lib/spaceship/du/du_client.rb +4 -0
  108. data/spaceship/lib/spaceship/portal/.certificate.rb.swp +0 -0
  109. data/spaceship/lib/spaceship/portal/certificate.rb +15 -1
  110. data/spaceship/lib/spaceship/portal/provisioning_profile.rb +1 -1
  111. data/spaceship/lib/spaceship/spaceauth_runner.rb +1 -1
  112. data/spaceship/lib/spaceship/test_flight/tester.rb +1 -1
  113. data/spaceship/lib/spaceship/tunes/app_version.rb +4 -0
  114. data/spaceship/lib/spaceship/tunes/application.rb +4 -0
  115. data/spaceship/lib/spaceship/tunes/availability.rb +40 -8
  116. data/spaceship/lib/spaceship/tunes/b2b_organization.rb +50 -0
  117. data/spaceship/lib/spaceship/tunes/build_details.rb +160 -18
  118. data/spaceship/lib/spaceship/tunes/display_family.rb +3 -3
  119. data/spaceship/lib/spaceship/tunes/iap.rb +2 -0
  120. data/spaceship/lib/spaceship/tunes/iap_detail.rb +17 -0
  121. data/spaceship/lib/spaceship/tunes/iap_family_details.rb +10 -2
  122. data/spaceship/lib/spaceship/tunes/tunes_client.rb +63 -2
  123. data/supply/lib/supply/client.rb +1 -1
  124. metadata +54 -47
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: fa6539a87eefa14196d94df8abc20a93b9c9d8f9
4
- data.tar.gz: 490b1d8276b06a3fc9b65556c20a99366e4495ef
2
+ SHA256:
3
+ metadata.gz: f60586154ca46a8972940838fd1c842c4ea3d15710660ae67f6a1daa6e549725
4
+ data.tar.gz: 796c700b97db4495e2f108eec428ccb03dd6b2112fa8df8dcca3650165a00484
5
5
  SHA512:
6
- metadata.gz: ce07c677c47a887e03463ba9ba7bb591c4f832182a80275246093f83a20bb89e57523612b086476bf8c9306835c5606a4bba2dff696a0235488463f8e2dedc79
7
- data.tar.gz: 1ac41e3f7002614c632ff3f094dec41fb33bdaa95b16d2729cbf3e2c3add3be99dc3b29487969a47344600bc135bbcb263d805444681153ffb46bc961389970c
6
+ metadata.gz: 73fb7ed813d160104e2481a6923797d673dc12109f60ad1c24b743a2dd0477460e70e614da2701c386ae5d0912a1964f4dee49a4db8c32a8a0a9ddba0a45cb29
7
+ data.tar.gz: e909f2a16fea9377e4fbf21466e38d64b5428b539db2751a1c28a83d3e6ae45aa27bce88960756c2d9056830c66660ccc3445317eeaa55156c58e699afd31e4d
data/README.md CHANGED
@@ -34,61 +34,23 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
34
34
  <!-- This table is regenerated and resorted on each release -->
35
35
  <table id='team'>
36
36
  <tr>
37
- <td id='jorge-revuelta-h'>
38
- <a href='https://github.com/minuscorp'>
39
- <img src='https://github.com/minuscorp.png?size=140'>
40
- </a>
41
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
42
- </td>
43
- <td id='iulian-onofrei'>
44
- <a href='https://github.com/revolter'>
45
- <img src='https://github.com/revolter.png?size=140'>
46
- </a>
47
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
48
- </td>
49
37
  <td id='olivier-halligon'>
50
38
  <a href='https://github.com/AliSoftware'>
51
39
  <img src='https://github.com/AliSoftware.png?size=140'>
52
40
  </a>
53
41
  <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
54
42
  </td>
55
- <td id='felix-krause'>
56
- <a href='https://github.com/KrauseFx'>
57
- <img src='https://github.com/KrauseFx.png?size=140'>
58
- </a>
59
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
60
- </td>
61
- <td id='stefan-natchev'>
62
- <a href='https://github.com/snatchev'>
63
- <img src='https://github.com/snatchev.png?size=140'>
64
- </a>
65
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
66
- </td>
67
- </tr>
68
- <tr>
69
- <td id='joshua-liebowitz'>
70
- <a href='https://github.com/taquitos'>
71
- <img src='https://github.com/taquitos.png?size=140'>
72
- </a>
73
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
74
- </td>
75
- <td id='luka-mirosevic'>
76
- <a href='https://github.com/lmirosevic'>
77
- <img src='https://github.com/lmirosevic.png?size=140'>
78
- </a>
79
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
80
- </td>
81
- <td id='danielle-tomlinson'>
82
- <a href='https://github.com/endocrimes'>
83
- <img src='https://github.com/endocrimes.png?size=140'>
43
+ <td id='helmut-januschka'>
44
+ <a href='https://github.com/hjanuschka'>
45
+ <img src='https://github.com/hjanuschka.png?size=140'>
84
46
  </a>
85
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
47
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
86
48
  </td>
87
- <td id='aaron-brager'>
88
- <a href='https://github.com/getaaron'>
89
- <img src='https://github.com/getaaron.png?size=140'>
49
+ <td id='jérôme-lacoste'>
50
+ <a href='https://github.com/lacostej'>
51
+ <img src='https://github.com/lacostej.png?size=140'>
90
52
  </a>
91
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
53
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
92
54
  </td>
93
55
  <td id='josh-holtz'>
94
56
  <a href='https://github.com/joshdholtz'>
@@ -96,31 +58,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
96
58
  </a>
97
59
  <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
98
60
  </td>
99
- </tr>
100
- <tr>
101
- <td id='jan-piotrowski'>
102
- <a href='https://github.com/janpio'>
103
- <img src='https://github.com/janpio.png?size=140'>
61
+ <td id='matthew-ellis'>
62
+ <a href='https://github.com/matthewellis'>
63
+ <img src='https://github.com/matthewellis.png?size=140'>
104
64
  </a>
105
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
65
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
106
66
  </td>
67
+ </tr>
68
+ <tr>
107
69
  <td id='maksym-grebenets'>
108
70
  <a href='https://github.com/mgrebenets'>
109
71
  <img src='https://github.com/mgrebenets.png?size=140'>
110
72
  </a>
111
73
  <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
112
74
  </td>
113
- <td id='fumiya-nakamura'>
114
- <a href='https://github.com/nafu'>
115
- <img src='https://github.com/nafu.png?size=140'>
75
+ <td id='jimmy-dee'>
76
+ <a href='https://github.com/jdee'>
77
+ <img src='https://github.com/jdee.png?size=140'>
116
78
  </a>
117
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
79
+ <h4 align='center'>Jimmy Dee</h4>
118
80
  </td>
119
- <td id='helmut-januschka'>
120
- <a href='https://github.com/hjanuschka'>
121
- <img src='https://github.com/hjanuschka.png?size=140'>
81
+ <td id='danielle-tomlinson'>
82
+ <a href='https://github.com/endocrimes'>
83
+ <img src='https://github.com/endocrimes.png?size=140'>
122
84
  </a>
123
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
85
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
124
86
  </td>
125
87
  <td id='andrew-mcburney'>
126
88
  <a href='https://github.com/armcburney'>
@@ -128,13 +90,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
128
90
  </a>
129
91
  <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
130
92
  </td>
93
+ <td id='luka-mirosevic'>
94
+ <a href='https://github.com/lmirosevic'>
95
+ <img src='https://github.com/lmirosevic.png?size=140'>
96
+ </a>
97
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
98
+ </td>
131
99
  </tr>
132
100
  <tr>
133
- <td id='jimmy-dee'>
134
- <a href='https://github.com/jdee'>
135
- <img src='https://github.com/jdee.png?size=140'>
101
+ <td id='joshua-liebowitz'>
102
+ <a href='https://github.com/taquitos'>
103
+ <img src='https://github.com/taquitos.png?size=140'>
136
104
  </a>
137
- <h4 align='center'>Jimmy Dee</h4>
105
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
106
+ </td>
107
+ <td id='stefan-natchev'>
108
+ <a href='https://github.com/snatchev'>
109
+ <img src='https://github.com/snatchev.png?size=140'>
110
+ </a>
111
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
138
112
  </td>
139
113
  <td id='kohki-miki'>
140
114
  <a href='https://github.com/giginet'>
@@ -148,17 +122,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
148
122
  </a>
149
123
  <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
150
124
  </td>
151
- <td id='jérôme-lacoste'>
152
- <a href='https://github.com/lacostej'>
153
- <img src='https://github.com/lacostej.png?size=140'>
125
+ <td id='fumiya-nakamura'>
126
+ <a href='https://github.com/nafu'>
127
+ <img src='https://github.com/nafu.png?size=140'>
154
128
  </a>
155
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
129
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
156
130
  </td>
157
- <td id='matthew-ellis'>
158
- <a href='https://github.com/matthewellis'>
159
- <img src='https://github.com/matthewellis.png?size=140'>
131
+ </tr>
132
+ <tr>
133
+ <td id='jan-piotrowski'>
134
+ <a href='https://github.com/janpio'>
135
+ <img src='https://github.com/janpio.png?size=140'>
160
136
  </a>
161
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
137
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
138
+ </td>
139
+ <td id='felix-krause'>
140
+ <a href='https://github.com/KrauseFx'>
141
+ <img src='https://github.com/KrauseFx.png?size=140'>
142
+ </a>
143
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
144
+ </td>
145
+ <td id='jorge-revuelta-h'>
146
+ <a href='https://github.com/minuscorp'>
147
+ <img src='https://github.com/minuscorp.png?size=140'>
148
+ </a>
149
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
150
+ </td>
151
+ <td id='aaron-brager'>
152
+ <a href='https://github.com/getaaron'>
153
+ <img src='https://github.com/getaaron.png?size=140'>
154
+ </a>
155
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
156
+ </td>
157
+ <td id='iulian-onofrei'>
158
+ <a href='https://github.com/revolter'>
159
+ <img src='https://github.com/revolter.png?size=140'>
160
+ </a>
161
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
162
162
  </td>
163
163
  </tr>
164
164
  </table>
@@ -1,4 +1,5 @@
1
1
  require 'fastlane_core/helper'
2
+ require 'fastlane/boolean'
2
3
 
3
4
  module Cert
4
5
  # Use this to just setup the configuration attribute and set it later somewhere else
@@ -8,6 +9,7 @@ module Cert
8
9
 
9
10
  Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
10
11
  UI = FastlaneCore::UI
12
+ Boolean = Fastlane::Boolean
11
13
  ROOT = Pathname.new(File.expand_path('../../..', __FILE__))
12
14
 
13
15
  ENV['FASTLANE_TEAM_ID'] ||= ENV["CERT_TEAM_ID"]
@@ -20,6 +20,12 @@ module Cert
20
20
  description: "Create a certificate even if an existing certificate exists",
21
21
  is_string: false,
22
22
  default_value: false),
23
+ FastlaneCore::ConfigItem.new(key: :generate_apple_certs,
24
+ env_name: "CERT_GENERATE_APPLE_CERTS",
25
+ description: "Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)",
26
+ type: Boolean,
27
+ default_value: FastlaneCore::Helper.mac? && FastlaneCore::Helper.xcode_at_least?('11'),
28
+ default_value_dynamic: true),
23
29
  FastlaneCore::ConfigItem.new(key: :username,
24
30
  short_option: "-u",
25
31
  env_name: "CERT_USERNAME",
@@ -134,19 +134,25 @@ module Cert
134
134
 
135
135
  # The kind of certificate we're interested in
136
136
  def certificate_type
137
- case Cert.config[:platform].to_s
138
- when 'ios', 'tvos'
139
- cert_type = Spaceship.certificate.production
140
- cert_type = Spaceship.certificate.in_house if Spaceship.client.in_house?
141
- cert_type = Spaceship.certificate.development if Cert.config[:development]
142
-
143
- when 'macos'
144
- cert_type = Spaceship.certificate.mac_app_distribution
145
- cert_type = Spaceship.certificate.mac_development if Cert.config[:development]
146
-
137
+ # Check if apple certs (Xcode 11 and later) should be used
138
+ if Cert.config[:generate_apple_certs]
139
+ cert_type = Spaceship.certificate.apple_distribution
140
+ cert_type = Spaceship.certificate.in_house if Spaceship.client.in_house? # Enterprise doesn't use Apple Distribution
141
+ cert_type = Spaceship.certificate.apple_development if Cert.config[:development]
142
+ else
143
+ case Cert.config[:platform].to_s
144
+ when 'ios', 'tvos'
145
+ cert_type = Spaceship.certificate.production
146
+ cert_type = Spaceship.certificate.in_house if Spaceship.client.in_house?
147
+ cert_type = Spaceship.certificate.development if Cert.config[:development]
148
+
149
+ when 'macos'
150
+ cert_type = Spaceship.certificate.mac_app_distribution
151
+ cert_type = Spaceship.certificate.mac_development if Cert.config[:development]
152
+ end
147
153
  end
148
154
 
149
- cert_type
155
+ return cert_type
150
156
  end
151
157
 
152
158
  def create_certificate
@@ -59,7 +59,7 @@ module Deliver
59
59
  build = nil
60
60
 
61
61
  loop do
62
- # Sometimes candidate_builds don't appear immediately after submittion
62
+ # Sometimes candidate_builds don't appear immediately after submission
63
63
  # Wait for candidate_builds to appear on App Store Connect
64
64
  # Issue https://github.com/fastlane/fastlane/issues/10411
65
65
  candidate_builds = app.latest_version.candidate_builds
@@ -26,6 +26,7 @@ require 'fastlane/documentation/docs_generator'
26
26
  require 'fastlane/other_action'
27
27
  require 'fastlane/plugins/plugins'
28
28
  require 'fastlane/fastlane_require'
29
+ require "fastlane/swift_fastlane_api_generator.rb"
29
30
 
30
31
  module Fastlane
31
32
  Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
@@ -39,10 +40,12 @@ module Fastlane
39
40
 
40
41
  if FastlaneCore::FastlaneFolder.path
41
42
  actions_path = File.join(FastlaneCore::FastlaneFolder.path, 'actions')
42
- Fastlane::Actions.load_external_actions(actions_path) if File.directory?(actions_path)
43
+ @external_actions = Fastlane::Actions.load_external_actions(actions_path) if File.directory?(actions_path)
43
44
  end
44
45
  end
45
46
 
47
+ attr_reader :external_actions
48
+
46
49
  def plugin_manager
47
50
  @plugin_manager ||= Fastlane::PluginManager.new
48
51
  end
@@ -105,6 +105,7 @@ module Fastlane
105
105
  def self.load_external_actions(path)
106
106
  UI.user_error!("You need to pass a valid path") unless File.exist?(path)
107
107
 
108
+ class_refs = []
108
109
  Dir[File.expand_path('*.rb', path)].each do |file|
109
110
  begin
110
111
  require file
@@ -123,6 +124,7 @@ module Fastlane
123
124
  class_name = file_name.fastlane_class + 'Action'
124
125
  begin
125
126
  class_ref = Fastlane::Actions.const_get(class_name)
127
+ class_refs << class_ref
126
128
 
127
129
  if class_ref.respond_to?(:run)
128
130
  UI.success("Successfully loaded custom action '#{file}'.") if FastlaneCore::Globals.verbose?
@@ -139,6 +141,8 @@ module Fastlane
139
141
  end
140
142
  end
141
143
  Actions.reset_aliases
144
+
145
+ return class_refs
142
146
  end
143
147
 
144
148
  def self.formerly_bundled_actions
@@ -36,6 +36,7 @@ module Fastlane
36
36
  return build_nr
37
37
  else
38
38
  version_number = params[:version]
39
+ platform = params[:platform]
39
40
 
40
41
  # Create filter for get_builds with optional version number
41
42
  filter = { app: app.apple_id }
@@ -46,18 +47,25 @@ module Fastlane
46
47
  version_number_message = "any version"
47
48
  end
48
49
 
50
+ if platform
51
+ filter["preReleaseVersion.platform"] = Spaceship::ConnectAPI::Platform.map(platform)
52
+ platform_message = "#{platform} platform"
53
+ else
54
+ platform_message = "any platform"
55
+ end
56
+
49
57
  UI.message("Fetching the latest build number for #{version_number_message}")
50
58
 
51
59
  # Get latest build for optional version number and return build number if found
52
- build = Spaceship::ConnectAPI.get_builds(filter: filter, sort: "-version", includes: "preReleaseVersion", limit: 1).first
60
+ build = Spaceship::ConnectAPI.get_builds(filter: filter, sort: "-uploadedDate", includes: "preReleaseVersion", limit: 1).first
53
61
  if build
54
62
  build_nr = build.version
55
- UI.message("Latest upload for version #{build.app_version} is build: #{build_nr}")
63
+ UI.message("Latest upload for version #{build.app_version} on #{platform_message} is build: #{build_nr}")
56
64
  return build_nr
57
65
  end
58
66
 
59
67
  # Let user know that build couldn't be found
60
- UI.important("Could not find a build for #{version_number_message} on App Store Connect")
68
+ UI.important("Could not find a build for #{version_number_message} on #{platform_message} on App Store Connect")
61
69
 
62
70
  if params[:initial_build_number].nil?
63
71
  UI.user_error!("Could not find a build on App Store Connect - and 'initial_build_number' option is not set")
@@ -115,7 +115,7 @@ module Fastlane
115
115
  optional: true),
116
116
  FastlaneCore::ConfigItem.new(key: :params,
117
117
  env_name: "APPETIZE_VIEWING_URL_GENERATOR_PARAMS",
118
- description: "Specifiy params value to be passed to Appetize",
118
+ description: "Specify params value to be passed to Appetize",
119
119
  is_string: true,
120
120
  optional: true),
121
121
  FastlaneCore::ConfigItem.new(key: :proxy,
@@ -50,7 +50,7 @@ module Fastlane
50
50
  if params[:code_sign_identity]
51
51
  build_configuration_list.set_setting("CODE_SIGN_IDENTITY", params[:code_sign_identity])
52
52
 
53
- # We also need to update the value if it was overriden for a specific SDK
53
+ # We also need to update the value if it was overridden for a specific SDK
54
54
  build_configuration_list.build_configurations.each do |build_configuration|
55
55
  codesign_build_settings_keys = build_configuration.build_settings.keys.select { |key| key.to_s.match(/CODE_SIGN_IDENTITY.*/) }
56
56
  codesign_build_settings_keys.each do |setting|
@@ -11,8 +11,10 @@ module Fastlane
11
11
 
12
12
  if command_name == "archive" && params[:frameworks].count > 0
13
13
  cmd.concat(params[:frameworks])
14
- elsif ["update", "build", "bootstrap"].include?(command_name) && params[:dependencies].count > 0
15
- cmd.concat(params[:dependencies])
14
+ # "update", "build" and "bootstrap" are the only commands that support "--derived-data" parameter
15
+ elsif ["update", "build", "bootstrap"].include?(command_name)
16
+ cmd.concat(params[:dependencies]) if params[:dependencies].count > 0
17
+ cmd << "--derived-data #{params[:derived_data].shellescape}" if params[:derived_data]
16
18
  end
17
19
 
18
20
  cmd << "--output #{params[:output]}" if params[:output]
@@ -24,7 +26,6 @@ module Fastlane
24
26
  cmd << "--verbose" if params[:verbose] == true
25
27
  cmd << "--platform #{params[:platform]}" if params[:platform]
26
28
  cmd << "--configuration #{params[:configuration]}" if params[:configuration]
27
- cmd << "--derived-data #{params[:derived_data].shellescape}" if params[:derived_data]
28
29
  cmd << "--toolchain #{params[:toolchain]}" if params[:toolchain]
29
30
  cmd << "--project-directory #{params[:project_directory]}" if params[:project_directory]
30
31
  cmd << "--cache-builds" if params[:cache_builds]
@@ -50,7 +50,7 @@ module Fastlane
50
50
  end
51
51
  }
52
52
  }) do |result|
53
- UI.success("Successfully commited file to GitHub")
53
+ UI.success("Successfully committed file to GitHub")
54
54
  json = result[:json]
55
55
  html_url = json['commit']['html_url']
56
56
  download_url = json['content']['download_url']
@@ -16,7 +16,7 @@ module Fastlane
16
16
  # If any of the paths include "*", we assume that we are referring to the Unix entries
17
17
  # e.g /tmp/fastlane/* refers to all the files in /tmp/fastlane
18
18
  # We use Dir.glob to expand all those paths, this would create an array of arrays though, so flatten
19
- artifacts = artifacts_to_search.map { |f| f.include?("*") ? Dir.glob(f) : f }.flatten
19
+ artifacts = artifacts_to_search.flat_map { |f| f.include?("*") ? Dir.glob(f) : f }
20
20
 
21
21
  UI.verbose("Copying artifacts #{artifacts.join(', ')} to #{target_path}")
22
22
  UI.verbose(params[:keep_original] ? "Keeping original files" : "Not keeping original files")
@@ -18,6 +18,7 @@ module Fastlane
18
18
  cmd << "--dangerfile=#{dangerfile}" if dangerfile
19
19
  cmd << "--fail-on-errors=true" if params[:fail_on_errors]
20
20
  cmd << "--new-comment" if params[:new_comment]
21
+ cmd << "--remove-previous-comments" if params[:remove_previous_comments]
21
22
  cmd << "--base=#{base}" if base
22
23
  cmd << "--head=#{head}" if head
23
24
  cmd << "pr #{pr}" if pr
@@ -78,6 +79,12 @@ module Fastlane
78
79
  is_string: false,
79
80
  optional: true,
80
81
  default_value: false),
82
+ FastlaneCore::ConfigItem.new(key: :remove_previous_comments,
83
+ env_name: "FL_DANGER_REMOVE_PREVIOUS_COMMENT",
84
+ description: "Makes Danger remove all previous comment and create a new one in the end of the list",
85
+ is_string: false,
86
+ optional: true,
87
+ default_value: false),
81
88
  FastlaneCore::ConfigItem.new(key: :base,
82
89
  env_name: "FL_DANGER_BASE",
83
90
  description: "A branch/tag/commit to use as the base of the diff. [master|dev|stable]",