fastlane 2.150.1 → 2.150.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +72 -72
  3. data/{fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp → deliver/lib/deliver/.commands_generator.rb.swp} +0 -0
  4. data/{pilot/lib/pilot/.manager.rb.swp → deliver/lib/deliver/.download_screenshots.rb.swp} +0 -0
  5. data/deliver/lib/deliver/.submit_for_review.rb.swp +0 -0
  6. data/deliver/lib/deliver/.upload_metadata.rb.swp +0 -0
  7. data/deliver/lib/deliver/.upload_screenshots.rb.swp +0 -0
  8. data/deliver/lib/deliver/runner.rb +7 -3
  9. data/deliver/lib/deliver/upload_metadata.rb +5 -1
  10. data/fastlane/lib/fastlane/actions/slather.rb +7 -0
  11. data/fastlane/lib/fastlane/version.rb +1 -1
  12. data/fastlane/swift/Deliverfile.swift +1 -1
  13. data/fastlane/swift/Fastlane.swift +8 -5
  14. data/fastlane/swift/Gymfile.swift +1 -1
  15. data/fastlane/swift/Matchfile.swift +1 -1
  16. data/fastlane/swift/Precheckfile.swift +1 -1
  17. data/fastlane/swift/Scanfile.swift +1 -1
  18. data/fastlane/swift/Screengrabfile.swift +1 -1
  19. data/fastlane/swift/Snapshotfile.swift +1 -1
  20. data/{fastlane/lib/fastlane/actions/.hockey.rb.swp → frameit/lib/frameit/.editor.rb.swp} +0 -0
  21. data/spaceship/lib/spaceship/{connect_api/.DS_Store → .DS_Store} +0 -0
  22. data/spaceship/lib/spaceship/connect_api.rb +1 -0
  23. data/{fastlane/lib/fastlane/actions/.slack.rb.swp → spaceship/lib/spaceship/connect_api/.file_uploader.rb.swp} +0 -0
  24. data/spaceship/lib/spaceship/connect_api/models/.app_screenshot.rb.swp +0 -0
  25. data/spaceship/lib/spaceship/connect_api/models/app.rb +3 -3
  26. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +24 -1
  27. data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +3 -2
  28. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +31 -2
  29. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +24 -2
  30. data/spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb +64 -0
  31. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +45 -0
  32. metadata +32 -28
  33. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d3237fc06a48b208196d7032e411bd13b963d7c26ddddbf0202e48f53fbd5c8
4
- data.tar.gz: db3869ebbf2d643634ef331898b3432b431fb01da909d3dac694d79cc0b4724d
3
+ metadata.gz: 87ea2530852ddd4a16e80f9935752a54ce909b00d0c13960f5c1d57b41e40891
4
+ data.tar.gz: 126a9a64389074d2f34fde46baf7687574e91f9090f1d318f4583552d642e847
5
5
  SHA512:
6
- metadata.gz: 7f17b8ef0ec7d70e3600ce0d3d9080083c16f347db7dd5d04b21a8c80552bc96ab07358f08a1e4369fb37e348bcef09ffdef5415c715128fe0b7b89d1cbb2b5a
7
- data.tar.gz: 30f46c293961f91d1d0ab85cfb6d06cf783b25c13e0ea307059013f20a906c349bbcda19e3e445ad20cfe0576d2c750f54ffef791f3c0c8c7a206ed23929134c
6
+ metadata.gz: f8b50d9557dbd71db173be7d854bc511f161f00e7a6115571b99dee6029806b3280d6386c19b0814a7175bd486f3fa46e0d9786a316102a0816c55e4315a5da5
7
+ data.tar.gz: 6c86f8a577d56a9a859a94765f51704ab80b2003facfb9b4baf355f693012d3a9b5f02def5b25fefa41750bb6bc8a1813d8a9faf73b19f541b1c4af626249fbf
data/README.md CHANGED
@@ -34,11 +34,17 @@ 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='maksym-grebenets'>
38
- <a href='https://github.com/mgrebenets'>
39
- <img src='https://github.com/mgrebenets.png?size=140'>
37
+ <td id='max-ott'>
38
+ <a href='https://github.com/max-ott'>
39
+ <img src='https://github.com/max-ott.png?size=140'>
40
40
  </a>
41
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
41
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
42
+ </td>
43
+ <td id='jan-piotrowski'>
44
+ <a href='https://github.com/janpio'>
45
+ <img src='https://github.com/janpio.png?size=140'>
46
+ </a>
47
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
42
48
  </td>
43
49
  <td id='jérôme-lacoste'>
44
50
  <a href='https://github.com/lacostej'>
@@ -52,31 +58,19 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
52
58
  </a>
53
59
  <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
54
60
  </td>
55
- <td id='max-ott'>
56
- <a href='https://github.com/max-ott'>
57
- <img src='https://github.com/max-ott.png?size=140'>
58
- </a>
59
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
60
- </td>
61
- <td id='helmut-januschka'>
62
- <a href='https://github.com/hjanuschka'>
63
- <img src='https://github.com/hjanuschka.png?size=140'>
61
+ <td id='andrew-mcburney'>
62
+ <a href='https://github.com/armcburney'>
63
+ <img src='https://github.com/armcburney.png?size=140'>
64
64
  </a>
65
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
65
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
66
66
  </td>
67
67
  </tr>
68
68
  <tr>
69
- <td id='kohki-miki'>
70
- <a href='https://github.com/giginet'>
71
- <img src='https://github.com/giginet.png?size=140'>
72
- </a>
73
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
74
- </td>
75
- <td id='matthew-ellis'>
76
- <a href='https://github.com/matthewellis'>
77
- <img src='https://github.com/matthewellis.png?size=140'>
69
+ <td id='manu-wallner'>
70
+ <a href='https://github.com/milch'>
71
+ <img src='https://github.com/milch.png?size=140'>
78
72
  </a>
79
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
73
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
80
74
  </td>
81
75
  <td id='danielle-tomlinson'>
82
76
  <a href='https://github.com/endocrimes'>
@@ -84,18 +78,24 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
84
78
  </a>
85
79
  <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
86
80
  </td>
87
- <td id='andrew-mcburney'>
88
- <a href='https://github.com/armcburney'>
89
- <img src='https://github.com/armcburney.png?size=140'>
90
- </a>
91
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
92
- </td>
93
81
  <td id='fumiya-nakamura'>
94
82
  <a href='https://github.com/nafu'>
95
83
  <img src='https://github.com/nafu.png?size=140'>
96
84
  </a>
97
85
  <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
98
86
  </td>
87
+ <td id='jimmy-dee'>
88
+ <a href='https://github.com/jdee'>
89
+ <img src='https://github.com/jdee.png?size=140'>
90
+ </a>
91
+ <h4 align='center'>Jimmy Dee</h4>
92
+ </td>
93
+ <td id='joshua-liebowitz'>
94
+ <a href='https://github.com/taquitos'>
95
+ <img src='https://github.com/taquitos.png?size=140'>
96
+ </a>
97
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
98
+ </td>
99
99
  </tr>
100
100
  <tr>
101
101
  <td id='aaron-brager'>
@@ -104,11 +104,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
104
104
  </a>
105
105
  <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
106
106
  </td>
107
- <td id='manu-wallner'>
108
- <a href='https://github.com/milch'>
109
- <img src='https://github.com/milch.png?size=140'>
107
+ <td id='helmut-januschka'>
108
+ <a href='https://github.com/hjanuschka'>
109
+ <img src='https://github.com/hjanuschka.png?size=140'>
110
110
  </a>
111
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
111
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
112
+ </td>
113
+ <td id='josh-holtz'>
114
+ <a href='https://github.com/joshdholtz'>
115
+ <img src='https://github.com/joshdholtz.png?size=140'>
116
+ </a>
117
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
112
118
  </td>
113
119
  <td id='jorge-revuelta-h'>
114
120
  <a href='https://github.com/minuscorp'>
@@ -116,63 +122,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
116
122
  </a>
117
123
  <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
118
124
  </td>
119
- <td id='felix-krause'>
120
- <a href='https://github.com/KrauseFx'>
121
- <img src='https://github.com/KrauseFx.png?size=140'>
122
- </a>
123
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
124
- </td>
125
- <td id='josh-holtz'>
126
- <a href='https://github.com/joshdholtz'>
127
- <img src='https://github.com/joshdholtz.png?size=140'>
125
+ <td id='maksym-grebenets'>
126
+ <a href='https://github.com/mgrebenets'>
127
+ <img src='https://github.com/mgrebenets.png?size=140'>
128
128
  </a>
129
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
129
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
130
130
  </td>
131
131
  </tr>
132
132
  <tr>
133
- <td id='luka-mirosevic'>
134
- <a href='https://github.com/lmirosevic'>
135
- <img src='https://github.com/lmirosevic.png?size=140'>
133
+ <td id='olivier-halligon'>
134
+ <a href='https://github.com/AliSoftware'>
135
+ <img src='https://github.com/AliSoftware.png?size=140'>
136
136
  </a>
137
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
137
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
138
138
  </td>
139
- <td id='iulian-onofrei'>
140
- <a href='https://github.com/revolter'>
141
- <img src='https://github.com/revolter.png?size=140'>
139
+ <td id='matthew-ellis'>
140
+ <a href='https://github.com/matthewellis'>
141
+ <img src='https://github.com/matthewellis.png?size=140'>
142
142
  </a>
143
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
143
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
144
144
  </td>
145
- <td id='joshua-liebowitz'>
146
- <a href='https://github.com/taquitos'>
147
- <img src='https://github.com/taquitos.png?size=140'>
145
+ <td id='daniel-jankowski'>
146
+ <a href='https://github.com/mollyIV'>
147
+ <img src='https://github.com/mollyIV.png?size=140'>
148
148
  </a>
149
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
149
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
150
150
  </td>
151
- <td id='jimmy-dee'>
152
- <a href='https://github.com/jdee'>
153
- <img src='https://github.com/jdee.png?size=140'>
151
+ <td id='kohki-miki'>
152
+ <a href='https://github.com/giginet'>
153
+ <img src='https://github.com/giginet.png?size=140'>
154
154
  </a>
155
- <h4 align='center'>Jimmy Dee</h4>
155
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
156
156
  </td>
157
- <td id='jan-piotrowski'>
158
- <a href='https://github.com/janpio'>
159
- <img src='https://github.com/janpio.png?size=140'>
157
+ <td id='felix-krause'>
158
+ <a href='https://github.com/KrauseFx'>
159
+ <img src='https://github.com/KrauseFx.png?size=140'>
160
160
  </a>
161
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
161
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
162
162
  </td>
163
163
  </tr>
164
164
  <tr>
165
- <td id='daniel-jankowski'>
166
- <a href='https://github.com/mollyIV'>
167
- <img src='https://github.com/mollyIV.png?size=140'>
165
+ <td id='luka-mirosevic'>
166
+ <a href='https://github.com/lmirosevic'>
167
+ <img src='https://github.com/lmirosevic.png?size=140'>
168
168
  </a>
169
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
169
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
170
170
  </td>
171
- <td id='olivier-halligon'>
172
- <a href='https://github.com/AliSoftware'>
173
- <img src='https://github.com/AliSoftware.png?size=140'>
171
+ <td id='iulian-onofrei'>
172
+ <a href='https://github.com/revolter'>
173
+ <img src='https://github.com/revolter.png?size=140'>
174
174
  </a>
175
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
175
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
176
176
  </td>
177
177
  </table>
178
178
 
@@ -34,6 +34,11 @@ module Deliver
34
34
 
35
35
  def run
36
36
  verify_version if options[:app_version].to_s.length > 0 && !options[:skip_app_version_update]
37
+
38
+ # Rejecting before upload meta
39
+ # Screenshots can not be update/deleted if in waiting for review
40
+ reject_version_if_possible if options[:reject_if_possible]
41
+
37
42
  upload_metadata
38
43
 
39
44
  has_binary = (options[:ipa] || options[:pkg])
@@ -43,8 +48,6 @@ module Deliver
43
48
 
44
49
  UI.success("Finished the upload to App Store Connect") unless options[:skip_binary_upload]
45
50
 
46
- reject_version_if_possible if options[:reject_if_possible]
47
-
48
51
  precheck_success = precheck_app
49
52
  submit_for_review if options[:submit_for_review] && precheck_success
50
53
  end
@@ -163,7 +166,8 @@ module Deliver
163
166
  app_id = legacy_app.apple_id
164
167
  app = Spaceship::ConnectAPI::App.get(app_id: app_id)
165
168
 
166
- if app.reject_version_if_possible!
169
+ platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
170
+ if app.reject_version_if_possible!(platform: platform)
167
171
  UI.success("Successfully rejected previous version!")
168
172
  end
169
173
  end
@@ -330,7 +330,11 @@ module Deliver
330
330
  seconds_in_hour = 60 * 60
331
331
  time_in_s_to_hour = (time_in_s / seconds_in_hour).to_i * seconds_in_hour
332
332
 
333
- return Time.at(time_in_s_to_hour).strftime("%Y-%m-%dT%H:%M:%S%:z")
333
+ # Remove minute offset if timezone has minute offset
334
+ minute_offset = Time.now.utc_offset % seconds_in_hour
335
+ time_in_s_to_hour -= minute_offset
336
+
337
+ return Time.at(time_in_s_to_hour).utc.strftime("%Y-%m-%dT%H:%M:%S%:z")
334
338
  end
335
339
 
336
340
  # If the user is using the 'default' language, then assign values where they are needed
@@ -16,6 +16,7 @@ module Fastlane
16
16
  cobertura_xml: '--cobertura-xml',
17
17
  sonarqube_xml: '--sonarqube-xml',
18
18
  llvm_cov: '--llvm-cov',
19
+ json: '--json',
19
20
  html: '--html',
20
21
  show: '--show',
21
22
 
@@ -225,6 +226,12 @@ module Fastlane
225
226
  description: "Tell slather that it should output results as llvm-cov show format",
226
227
  is_string: false,
227
228
  optional: true),
229
+ FastlaneCore::ConfigItem.new(key: :json,
230
+ env_name: "FL_SLATHER_JSON_ENABLED",
231
+ description: "Tell slather that it should output results as static JSON report",
232
+ is_string: false,
233
+ type: Boolean,
234
+ optional: true),
228
235
  FastlaneCore::ConfigItem.new(key: :html,
229
236
  env_name: "FL_SLATHER_HTML_ENABLED",
230
237
  description: "Tell slather that it should output results as static HTML pages",
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.150.1'.freeze
2
+ VERSION = '2.150.2'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '0.49.1'.freeze
@@ -18,4 +18,4 @@ class Deliverfile: DeliverfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.150.1
21
+ // Generated with fastlane 2.150.2
@@ -2799,7 +2799,7 @@ func downloadDsyms(username: String,
2799
2799
  func downloadFromPlayStore(packageName: String,
2800
2800
  versionName: String? = nil,
2801
2801
  track: String = "production",
2802
- metadataPath: String = "./metadata",
2802
+ metadataPath: String? = nil,
2803
2803
  key: String? = nil,
2804
2804
  issuer: String? = nil,
2805
2805
  jsonKey: String? = nil,
@@ -6757,6 +6757,7 @@ func slackTrainStart(distance: Int = 5,
6757
6757
  - coberturaXml: Tell slather that it should output results as Cobertura XML format
6758
6758
  - sonarqubeXml: Tell slather that it should output results as SonarQube Generic XML format
6759
6759
  - llvmCov: Tell slather that it should output results as llvm-cov show format
6760
+ - json: Tell slather that it should output results as static JSON report
6760
6761
  - html: Tell slather that it should output results as static HTML pages
6761
6762
  - show: Tell slather that it should open static html pages automatically
6762
6763
  - sourceDirectory: Tell slather the location of your source files
@@ -6791,6 +6792,7 @@ func slather(buildDirectory: String? = nil,
6791
6792
  coberturaXml: Bool? = nil,
6792
6793
  sonarqubeXml: Bool? = nil,
6793
6794
  llvmCov: Any? = nil,
6795
+ json: Bool? = nil,
6794
6796
  html: Bool? = nil,
6795
6797
  show: Bool = false,
6796
6798
  sourceDirectory: String? = nil,
@@ -6821,6 +6823,7 @@ func slather(buildDirectory: String? = nil,
6821
6823
  RubyCommand.Argument(name: "cobertura_xml", value: coberturaXml),
6822
6824
  RubyCommand.Argument(name: "sonarqube_xml", value: sonarqubeXml),
6823
6825
  RubyCommand.Argument(name: "llvm_cov", value: llvmCov),
6826
+ RubyCommand.Argument(name: "json", value: json),
6824
6827
  RubyCommand.Argument(name: "html", value: html),
6825
6828
  RubyCommand.Argument(name: "show", value: show),
6826
6829
  RubyCommand.Argument(name: "source_directory", value: sourceDirectory),
@@ -7199,7 +7202,7 @@ func supply(packageName: String,
7199
7202
  releaseStatus: String = "completed",
7200
7203
  track: String = "production",
7201
7204
  rollout: String? = nil,
7202
- metadataPath: String = "./metadata",
7205
+ metadataPath: String? = nil,
7203
7206
  key: String? = nil,
7204
7207
  issuer: String? = nil,
7205
7208
  jsonKey: String? = nil,
@@ -8308,7 +8311,7 @@ func uploadToPlayStore(packageName: String,
8308
8311
  releaseStatus: String = "completed",
8309
8312
  track: String = "production",
8310
8313
  rollout: String? = nil,
8311
- metadataPath: String = "./metadata",
8314
+ metadataPath: String? = nil,
8312
8315
  key: String? = nil,
8313
8316
  issuer: String? = nil,
8314
8317
  jsonKey: String? = nil,
@@ -8818,7 +8821,7 @@ func xcov(workspace: String? = nil,
8818
8821
  coverallsServiceJobId: String? = nil,
8819
8822
  coverallsRepoToken: String? = nil,
8820
8823
  xcconfig: String? = nil,
8821
- ideFoundationPath: String = "/Applications/Xcode.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
8824
+ ideFoundationPath: String = "/Applications/Xcode-11.5.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
8822
8825
  legacySupport: Bool = false) {
8823
8826
  let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
8824
8827
  RubyCommand.Argument(name: "project", value: project),
@@ -8963,4 +8966,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
8963
8966
 
8964
8967
  // Please don't remove the lines below
8965
8968
  // They are used to detect outdated files
8966
- // FastlaneRunnerAPIVersion [0.9.72]
8969
+ // FastlaneRunnerAPIVersion [0.9.73]
@@ -18,4 +18,4 @@ class Gymfile: GymfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.150.1
21
+ // Generated with fastlane 2.150.2
@@ -18,4 +18,4 @@ class Matchfile: MatchfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.150.1
21
+ // Generated with fastlane 2.150.2
@@ -18,4 +18,4 @@ class Precheckfile: PrecheckfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.150.1
21
+ // Generated with fastlane 2.150.2
@@ -18,4 +18,4 @@ class Scanfile: ScanfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.150.1
21
+ // Generated with fastlane 2.150.2
@@ -18,4 +18,4 @@ class Screengrabfile: ScreengrabfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.150.1
21
+ // Generated with fastlane 2.150.2
@@ -18,4 +18,4 @@ class Snapshotfile: SnapshotfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.150.1
21
+ // Generated with fastlane 2.150.2
@@ -50,6 +50,7 @@ require 'spaceship/connect_api/models/app_store_version_phased_release'
50
50
  require 'spaceship/connect_api/models/app_store_version'
51
51
  require 'spaceship/connect_api/models/idfa_declaration'
52
52
  require 'spaceship/connect_api/models/reset_ratings_request'
53
+ require 'spaceship/connect_api/models/sandbox_tester'
53
54
  require 'spaceship/connect_api/models/territory'
54
55
 
55
56
  module Spaceship
@@ -78,7 +78,7 @@ module Spaceship
78
78
  # App Info
79
79
  #
80
80
 
81
- def fetch_edit_app_info
81
+ def fetch_edit_app_info(includes: Spaceship::ConnectAPI::AppInfo::ESSENTIAL_INCLUDES)
82
82
  states = [
83
83
  Spaceship::ConnectAPI::AppInfo::AppStoreState::PREPARE_FOR_SUBMISSION,
84
84
  Spaceship::ConnectAPI::AppInfo::AppStoreState::DEVELOPER_REJECTED,
@@ -89,7 +89,7 @@ module Spaceship
89
89
  ]
90
90
 
91
91
  filter = { app: id }
92
- resp = Spaceship::ConnectAPI.get_app_infos(filter: filter)
92
+ resp = Spaceship::ConnectAPI.get_app_infos(filter: filter, includes: includes)
93
93
  return resp.to_models.select do |model|
94
94
  states.include?(model.app_store_state)
95
95
  end.first
@@ -110,7 +110,7 @@ module Spaceship
110
110
  # App Store Versions
111
111
  #
112
112
 
113
- def reject_version_if_possible!
113
+ def reject_version_if_possible!(platform: nil)
114
114
  platform ||= Spaceship::ConnectAPI::Platform::IOS
115
115
  filter = {
116
116
  appStoreState: [
@@ -9,6 +9,13 @@ module Spaceship
9
9
  attr_accessor :brazil_age_rating
10
10
  attr_accessor :kids_age_band
11
11
 
12
+ attr_accessor :primary_category
13
+ attr_accessor :primary_subcategory_one
14
+ attr_accessor :primary_subcategory_two
15
+ attr_accessor :secondary_category
16
+ attr_accessor :secondary_subcategory_one
17
+ attr_accessor :secondary_subcategory_two
18
+
12
19
  module AppStoreState
13
20
  READY_FOR_SALE = "READY_FOR_SALE"
14
21
  PROCESSING_FOR_APP_STORE = "PROCESSING_FOR_APP_STORE"
@@ -30,9 +37,25 @@ module Spaceship
30
37
  "appStoreState" => "app_store_state",
31
38
  "appStoreAgeRating" => "app_store_age_rating",
32
39
  "brazilAgeRating" => "brazil_age_rating",
33
- "kidsAgeBand" => "kids_age_band"
40
+ "kidsAgeBand" => "kids_age_band",
41
+
42
+ "primaryCategory" => "primary_category",
43
+ "primarySubcategoryOne" => "primary_subcategory_one",
44
+ "primarySubcategoryTwo" => "primary_subcategory_two",
45
+ "secondaryCategory" => "secondary_category",
46
+ "secondarySubcategoryOne" => "secondary_subcategory_one",
47
+ "secondarySubcategoryTwo" => "secondary_subcategory_two"
34
48
  })
35
49
 
50
+ ESSENTIAL_INCLUDES = [
51
+ "primaryCategory",
52
+ "primarySubcategoryOne",
53
+ "primarySubcategoryTwo",
54
+ "secondaryCategory",
55
+ "secondarySubcategoryOne",
56
+ "secondarySubcategoryTwo"
57
+ ].join(",")
58
+
36
59
  def self.type
37
60
  return "appInfos"
38
61
  end
@@ -54,7 +54,7 @@ module Spaceship
54
54
  # @param app_preview_set_id The AppPreviewSet id
55
55
  # @param path The path of the file
56
56
  # @param frame_time_code The time code for the preview still frame (ex: "00:00:07:01")
57
- def self.create(app_preview_set_id: nil, path: nil, frame_time_code: nil)
57
+ def self.create(app_preview_set_id: nil, path: nil, wait_for_processing: true, frame_time_code: nil)
58
58
  require 'faraday'
59
59
 
60
60
  filename = File.basename(path)
@@ -95,7 +95,8 @@ module Spaceship
95
95
  end
96
96
 
97
97
  # Poll for video processing completion to set still frame time
98
- unless frame_time_code.nil?
98
+ wait_for_processing = true unless frame_time_code.nil?
99
+ if wait_for_processing
99
100
  loop do
100
101
  unless preview.video_url.nil?
101
102
  puts("Preview processing complete!") if Spaceship::Globals.verbose?
@@ -63,8 +63,37 @@ module Spaceship
63
63
  return resp.to_models
64
64
  end
65
65
 
66
- def upload_preview(path: nil, frame_time_code: nil)
67
- return Spaceship::ConnectAPI::AppPreview.create(app_preview_set_id: id, path: path, frame_time_code: frame_time_code)
66
+ def self.get(app_preview_set_id: nil, includes: "appPreviews")
67
+ return Spaceship::ConnectAPI.get_app_preview_set(app_preview_set_id: app_preview_set_id, filter: nil, includes: includes, limit: nil, sort: nil).first
68
+ end
69
+
70
+ def upload_preview(path: nil, wait_for_processing: true, position: nil, frame_time_code: nil)
71
+ # Upload preview
72
+ preview = Spaceship::ConnectAPI::AppPreview.create(app_preview_set_id: id, path: path, wait_for_processing: wait_for_processing, frame_time_code: frame_time_code)
73
+
74
+ # Reposition (if specified)
75
+ unless position.nil?
76
+ # Get all app preview ids
77
+ set = AppPreviewSet.get(app_preview_set_id: id)
78
+ app_preview_ids = set.app_previews.map(&:id)
79
+
80
+ # Remove new uploaded preview
81
+ app_preview_ids.delete(preview.id)
82
+
83
+ # Insert preview at specified position
84
+ app_preview_ids = app_preview_ids.insert(position, preview.id).compact
85
+
86
+ # Reorder previews
87
+ reorder_previews(app_preview_ids: app_preview_ids)
88
+ end
89
+
90
+ return preview
91
+ end
92
+
93
+ def reorder_previews(app_preview_ids: nil)
94
+ Spaceship::ConnectAPI.patch_app_preview_set_previews(app_preview_set_id: id, app_preview_ids: app_preview_ids)
95
+
96
+ return Spaceship::ConnectAPI.get_app_preview_set(app_preview_set_id: id, includes: "appPreviews").first
68
97
  end
69
98
  end
70
99
  end
@@ -117,8 +117,30 @@ module Spaceship
117
117
  return resp.to_models
118
118
  end
119
119
 
120
- def upload_screenshot(path: nil, wait_for_processing: true)
121
- return Spaceship::ConnectAPI::AppScreenshot.create(app_screenshot_set_id: id, path: path, wait_for_processing: wait_for_processing)
120
+ def self.get(app_screenshot_set_id: nil, includes: "appScreenshots")
121
+ return Spaceship::ConnectAPI.get_app_screenshot_set(app_screenshot_set_id: app_screenshot_set_id, filter: nil, includes: includes, limit: nil, sort: nil).first
122
+ end
123
+
124
+ def upload_screenshot(path: nil, wait_for_processing: true, position: nil)
125
+ screenshot = Spaceship::ConnectAPI::AppScreenshot.create(app_screenshot_set_id: id, path: path, wait_for_processing: wait_for_processing)
126
+
127
+ # Reposition (if specified)
128
+ unless position.nil?
129
+ # Get all app preview ids
130
+ set = AppScreenshotSet.get(app_screenshot_set_id: id)
131
+ app_screenshot_ids = set.app_screenshots.map(&:id)
132
+
133
+ # Remove new uploaded screenshot
134
+ app_screenshot_ids.delete(screenshot.id)
135
+
136
+ # Insert screenshot at specified position
137
+ app_screenshot_ids = app_screenshot_ids.insert(position, screenshot.id).compact
138
+
139
+ # Reorder screenshots
140
+ reorder_screenshots(app_screenshot_ids: app_screenshot_ids)
141
+ end
142
+
143
+ return screenshot
122
144
  end
123
145
 
124
146
  def reorder_screenshots(app_screenshot_ids: nil)
@@ -0,0 +1,64 @@
1
+ require_relative '../model'
2
+ module Spaceship
3
+ class ConnectAPI
4
+ class SandboxTester
5
+ include Spaceship::ConnectAPI::Model
6
+
7
+ attr_accessor :first_name
8
+ attr_accessor :last_name
9
+ attr_accessor :email
10
+ attr_accessor :password
11
+ attr_accessor :confirm_password
12
+ attr_accessor :secret_question
13
+ attr_accessor :secret_answer
14
+ attr_accessor :birth_date # 1980-03-01
15
+ attr_accessor :app_store_territory
16
+ attr_accessor :apple_pay_compatible
17
+
18
+ attr_mapping({
19
+ "firstName" => "first_name",
20
+ "lastName" => "last_name",
21
+ "email" => "email",
22
+ "password" => "password",
23
+ "confirmPassword" => "confirm_password",
24
+ "secretQuestion" => "secret_question",
25
+ "secretAnswer" => "secret_answer",
26
+ "birthDate" => "birth_date",
27
+ "appStoreTerritory" => "app_store_territory",
28
+ "applePayCompatible" => "apple_pay_compatible"
29
+ })
30
+
31
+ def self.type
32
+ return "sandboxTesters"
33
+ end
34
+
35
+ #
36
+ # API
37
+ #
38
+
39
+ def self.all(filter: {}, includes: nil, limit: 2000, sort: nil)
40
+ resps = Spaceship::ConnectAPI.get_sandbox_testers(filter: filter, includes: includes).all_pages
41
+ return resps.flat_map(&:to_models)
42
+ end
43
+
44
+ def self.create(first_name: nil, last_name: nil, email: nil, password: nil, confirm_password: nil, secret_question: nil, secret_answer: nil, birth_date: nil, app_store_territory: nil)
45
+ attributes = {
46
+ firstName: first_name,
47
+ lastName: last_name,
48
+ email: email,
49
+ password: password,
50
+ confirmPassword: confirm_password,
51
+ secretQuestion: secret_question,
52
+ secretAnswer: secret_answer,
53
+ birthDate: birth_date,
54
+ appStoreTerritory: app_store_territory
55
+ }
56
+ return Spaceship::ConnectAPI.post_sandbox_tester(attributes: attributes).first
57
+ end
58
+
59
+ def delete!
60
+ Spaceship::ConnectAPI.delete_sandbox_tester(sandbox_tester_id: id)
61
+ end
62
+ end
63
+ end
64
+ end
@@ -241,6 +241,11 @@ module Spaceship
241
241
  Client.instance.get("appPreviewSets", params)
242
242
  end
243
243
 
244
+ def get_app_preview_set(app_preview_set_id: nil, filter: {}, includes: nil, limit: nil, sort: nil)
245
+ params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
246
+ Client.instance.get("appPreviewSets/#{app_preview_set_id}", params)
247
+ end
248
+
244
249
  def post_app_preview_set(app_store_version_localization_id: nil, attributes: {})
245
250
  body = {
246
251
  data: {
@@ -260,6 +265,21 @@ module Spaceship
260
265
  Client.instance.post("appPreviewSets", body)
261
266
  end
262
267
 
268
+ def patch_app_preview_set_previews(app_preview_set_id: nil, app_preview_ids: nil)
269
+ app_preview_ids ||= []
270
+
271
+ body = {
272
+ data: app_preview_ids.map do |app_preview_id|
273
+ {
274
+ type: "appPreviews",
275
+ id: app_preview_id
276
+ }
277
+ end
278
+ }
279
+
280
+ Client.instance.patch("appPreviewSets/#{app_preview_set_id}/relationships/appPreviews", body)
281
+ end
282
+
263
283
  #
264
284
  # appPrices
265
285
  #
@@ -846,6 +866,31 @@ module Spaceship
846
866
  Client.instance.delete("idfaDeclarations/#{idfa_declaration_id}", params)
847
867
  end
848
868
 
869
+ #
870
+ # sandboxTesters
871
+ #
872
+
873
+ def get_sandbox_testers(filter: nil, includes: nil, limit: nil, sort: nil)
874
+ params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
875
+ Client.instance.get("sandboxTesters", params)
876
+ end
877
+
878
+ def post_sandbox_tester(attributes: {})
879
+ body = {
880
+ data: {
881
+ type: "sandboxTesters",
882
+ attributes: attributes
883
+ }
884
+ }
885
+
886
+ Client.instance.post("sandboxTesters", body)
887
+ end
888
+
889
+ def delete_sandbox_tester(sandbox_tester_id: nil)
890
+ params = Client.instance.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
891
+ Client.instance.delete("sandboxTesters/#{sandbox_tester_id}", params)
892
+ end
893
+
849
894
  #
850
895
  # territories
851
896
  #
metadata CHANGED
@@ -1,35 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.150.1
4
+ version: 2.150.2
5
5
  platform: ruby
6
6
  authors:
7
- - Joshua Liebowitz
8
- - Luka Mirosevic
9
- - Kohki Miki
10
- - Aaron Brager
11
- - Matthew Ellis
12
- - Jimmy Dee
13
- - Jorge Revuelta H
14
- - Manu Wallner
15
- - Josh Holtz
16
7
  - Fumiya Nakamura
17
- - Maksym Grebenets
8
+ - Jimmy Dee
9
+ - Matthew Ellis
18
10
  - Jan Piotrowski
19
- - Daniel Jankowski
20
- - Olivier Halligon
21
- - Max Ott
22
11
  - Felix Krause
23
- - Iulian Onofrei
24
- - Danielle Tomlinson
12
+ - Luka Mirosevic
25
13
  - Jérôme Lacoste
26
- - Andrew McBurney
14
+ - Daniel Jankowski
15
+ - Danielle Tomlinson
16
+ - Maksym Grebenets
17
+ - Jorge Revuelta H
18
+ - Aaron Brager
27
19
  - Helmut Januschka
20
+ - Joshua Liebowitz
21
+ - Manu Wallner
22
+ - Max Ott
23
+ - Andrew McBurney
28
24
  - Stefan Natchev
29
- autorequire:
25
+ - Josh Holtz
26
+ - Kohki Miki
27
+ - Olivier Halligon
28
+ - Iulian Onofrei
29
+ autorequire:
30
30
  bindir: bin
31
31
  cert_chain: []
32
- date: 2020-07-02 00:00:00.000000000 Z
32
+ date: 2020-07-04 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: slack-notifier
@@ -977,6 +977,11 @@ files:
977
977
  - deliver/lib/assets/ScreenshotsHelp
978
978
  - deliver/lib/assets/summary.html.erb
979
979
  - deliver/lib/deliver.rb
980
+ - deliver/lib/deliver/.commands_generator.rb.swp
981
+ - deliver/lib/deliver/.download_screenshots.rb.swp
982
+ - deliver/lib/deliver/.submit_for_review.rb.swp
983
+ - deliver/lib/deliver/.upload_metadata.rb.swp
984
+ - deliver/lib/deliver/.upload_screenshots.rb.swp
980
985
  - deliver/lib/deliver/app_screenshot.rb
981
986
  - deliver/lib/deliver/commands_generator.rb
982
987
  - deliver/lib/deliver/detect_values.rb
@@ -1013,9 +1018,6 @@ files:
1013
1018
  - fastlane/lib/fastlane.rb
1014
1019
  - fastlane/lib/fastlane/action.rb
1015
1020
  - fastlane/lib/fastlane/action_collector.rb
1016
- - fastlane/lib/fastlane/actions/.hockey.rb.swp
1017
- - fastlane/lib/fastlane/actions/.slack.rb.swp
1018
- - fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp
1019
1021
  - fastlane/lib/fastlane/actions/README.md
1020
1022
  - fastlane/lib/fastlane/actions/actions_helper.rb
1021
1023
  - fastlane/lib/fastlane/actions/adb.rb
@@ -1352,7 +1354,6 @@ files:
1352
1354
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj
1353
1355
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
1354
1356
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
1355
- - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate
1356
1357
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme
1357
1358
  - fastlane/swift/FastlaneSwiftRunner/README.txt
1358
1359
  - fastlane/swift/Gymfile.swift
@@ -1439,6 +1440,7 @@ files:
1439
1440
  - frameit/README.md
1440
1441
  - frameit/lib/assets/empty.png
1441
1442
  - frameit/lib/frameit.rb
1443
+ - frameit/lib/frameit/.editor.rb.swp
1442
1444
  - frameit/lib/frameit/commands_generator.rb
1443
1445
  - frameit/lib/frameit/config_parser.rb
1444
1446
  - frameit/lib/frameit/dependency_checker.rb
@@ -1509,7 +1511,6 @@ files:
1509
1511
  - pem/lib/pem/options.rb
1510
1512
  - pilot/README.md
1511
1513
  - pilot/lib/pilot.rb
1512
- - pilot/lib/pilot/.manager.rb.swp
1513
1514
  - pilot/lib/pilot/build_manager.rb
1514
1515
  - pilot/lib/pilot/commands_generator.rb
1515
1516
  - pilot/lib/pilot/features.rb
@@ -1637,15 +1638,17 @@ files:
1637
1638
  - spaceship/lib/assets/languageMapping.json
1638
1639
  - spaceship/lib/assets/languageMappingReadable.json
1639
1640
  - spaceship/lib/spaceship.rb
1641
+ - spaceship/lib/spaceship/.DS_Store
1640
1642
  - spaceship/lib/spaceship/babosa_fix.rb
1641
1643
  - spaceship/lib/spaceship/base.rb
1642
1644
  - spaceship/lib/spaceship/client.rb
1643
1645
  - spaceship/lib/spaceship/commands_generator.rb
1644
1646
  - spaceship/lib/spaceship/connect_api.rb
1645
- - spaceship/lib/spaceship/connect_api/.DS_Store
1647
+ - spaceship/lib/spaceship/connect_api/.file_uploader.rb.swp
1646
1648
  - spaceship/lib/spaceship/connect_api/client.rb
1647
1649
  - spaceship/lib/spaceship/connect_api/file_uploader.rb
1648
1650
  - spaceship/lib/spaceship/connect_api/model.rb
1651
+ - spaceship/lib/spaceship/connect_api/models/.app_screenshot.rb.swp
1649
1652
  - spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb
1650
1653
  - spaceship/lib/spaceship/connect_api/models/app.rb
1651
1654
  - spaceship/lib/spaceship/connect_api/models/app_category.rb
@@ -1684,6 +1687,7 @@ files:
1684
1687
  - spaceship/lib/spaceship/connect_api/models/pre_release_version.rb
1685
1688
  - spaceship/lib/spaceship/connect_api/models/profile.rb
1686
1689
  - spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb
1690
+ - spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb
1687
1691
  - spaceship/lib/spaceship/connect_api/models/territory.rb
1688
1692
  - spaceship/lib/spaceship/connect_api/models/user.rb
1689
1693
  - spaceship/lib/spaceship/connect_api/provisioning/client.rb
@@ -1814,7 +1818,7 @@ licenses:
1814
1818
  - MIT
1815
1819
  metadata:
1816
1820
  docs_url: https://docs.fastlane.tools
1817
- post_install_message:
1821
+ post_install_message:
1818
1822
  rdoc_options: []
1819
1823
  require_paths:
1820
1824
  - credentials_manager/lib
@@ -1846,8 +1850,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1846
1850
  - !ruby/object:Gem::Version
1847
1851
  version: '0'
1848
1852
  requirements: []
1849
- rubygems_version: 3.0.3
1850
- signing_key:
1853
+ rubygems_version: 3.0.6
1854
+ signing_key:
1851
1855
  specification_version: 4
1852
1856
  summary: The easiest way to automate beta deployments and releases for your iOS and
1853
1857
  Android apps