fastlane 2.164.0 → 2.165.0

This diff has not been reviewed by any users.
Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +68 -68
  3. data/cert/lib/cert/runner.rb +1 -1
  4. data/{match/lib/match/.options.rb.swp → fastlane/lib/fastlane/actions/.download_dsyms.rb.swp} +0 -0
  5. data/fastlane/lib/fastlane/version.rb +1 -1
  6. data/fastlane/swift/Deliverfile.swift +1 -1
  7. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  8. data/fastlane/swift/Fastlane.swift +4 -4
  9. data/fastlane/swift/Gymfile.swift +1 -1
  10. data/fastlane/swift/GymfileProtocol.swift +1 -1
  11. data/fastlane/swift/Matchfile.swift +1 -1
  12. data/fastlane/swift/MatchfileProtocol.swift +2 -2
  13. data/fastlane/swift/Precheckfile.swift +1 -1
  14. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  15. data/fastlane/swift/Scanfile.swift +1 -1
  16. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  17. data/fastlane/swift/Screengrabfile.swift +1 -1
  18. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  19. data/fastlane/swift/Snapshotfile.swift +1 -1
  20. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  21. data/match/lib/match/options.rb +1 -1
  22. data/sigh/lib/sigh/runner.rb +2 -2
  23. data/spaceship/lib/spaceship/connect_api.rb +2 -0
  24. data/spaceship/lib/spaceship/connect_api/client.rb +7 -4
  25. data/spaceship/lib/spaceship/connect_api/models/app.rb +51 -0
  26. data/spaceship/lib/spaceship/connect_api/models/custom_app_organization.rb +43 -0
  27. data/spaceship/lib/spaceship/connect_api/models/custom_app_user.rb +41 -0
  28. data/spaceship/lib/spaceship/connect_api/spaceship.rb +7 -4
  29. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +71 -0
  30. metadata +20 -20
  31. data/match/lib/match/.commands_generator.rb.swp +0 -0
  32. data/match/lib/match/.importer.rb.swp +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8cdb3738f1c646ea1cbff438e63895c5001d876fb9aeb585c1750ee61cbd86a4
4
- data.tar.gz: e19bd6d624de20687b690df55a2f906a69eecc9ea2ee45bf6ad6b58eb64c468c
3
+ metadata.gz: 314c607226cc1a8a4f1c7e23e6087f11ba72d05d1b95c55b4dc2477bc1a7edbe
4
+ data.tar.gz: 211a75deb1403c2d94ee7542b48f361e88780251539d5fb57384da76f8914549
5
5
  SHA512:
6
- metadata.gz: da9f5620643df9f24fbded5fe29445ad72c9601d7c370a8092d1874ab22f629389fc9c43cbed71a8fa27667d91c425aa1666a581bbd2f1b34578dc0067ba4684
7
- data.tar.gz: a62090282896c1d8c65b2c789067a82f09f60089bc4fc963c104d4bfae0ef2d89e859484e744fd3e92e49f804c0d8cd5f315c6d5f392cd7bb1ee18f34efae631
6
+ metadata.gz: 05e5e851c42e0ca60579a9a1379414f7d9e8d047657bdeb4d0bbf8714d5408fdd7e9d3dda15d6665ee5c886f92050d64265175baf0949d8ce0e61834ecabcc22
7
+ data.tar.gz: 6e0b825a88e2ec98614c26033752d7598bc5e52ba76d3b46cd23b9916ea1c92253192564ed6bd29eff6e2a29faebe5afcc29d5417ce89a65cbe35732884f56ea
data/README.md CHANGED
@@ -34,43 +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='stefan-natchev'>
38
- <a href='https://github.com/snatchev'>
39
- <img src='https://github.com/snatchev.png?size=140'>
40
- </a>
41
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
42
- </td>
43
- <td id='olivier-halligon'>
44
- <a href='https://github.com/AliSoftware'>
45
- <img src='https://github.com/AliSoftware.png?size=140'>
46
- </a>
47
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
48
- </td>
49
- <td id='luka-mirosevic'>
50
- <a href='https://github.com/lmirosevic'>
51
- <img src='https://github.com/lmirosevic.png?size=140'>
52
- </a>
53
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
54
- </td>
55
37
  <td id='joshua-liebowitz'>
56
38
  <a href='https://github.com/taquitos'>
57
39
  <img src='https://github.com/taquitos.png?size=140'>
58
40
  </a>
59
41
  <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
60
42
  </td>
61
- <td id='manu-wallner'>
62
- <a href='https://github.com/milch'>
63
- <img src='https://github.com/milch.png?size=140'>
43
+ <td id='danielle-tomlinson'>
44
+ <a href='https://github.com/endocrimes'>
45
+ <img src='https://github.com/endocrimes.png?size=140'>
64
46
  </a>
65
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
47
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
66
48
  </td>
67
- </tr>
68
- <tr>
69
- <td id='maksym-grebenets'>
70
- <a href='https://github.com/mgrebenets'>
71
- <img src='https://github.com/mgrebenets.png?size=140'>
49
+ <td id='andrew-mcburney'>
50
+ <a href='https://github.com/armcburney'>
51
+ <img src='https://github.com/armcburney.png?size=140'>
72
52
  </a>
73
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
53
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
74
54
  </td>
75
55
  <td id='jorge-revuelta-h'>
76
56
  <a href='https://github.com/minuscorp'>
@@ -78,26 +58,58 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
78
58
  </a>
79
59
  <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
80
60
  </td>
61
+ <td id='josh-holtz'>
62
+ <a href='https://github.com/joshdholtz'>
63
+ <img src='https://github.com/joshdholtz.png?size=140'>
64
+ </a>
65
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
66
+ </td>
67
+ </tr>
68
+ <tr>
69
+ <td id='max-ott'>
70
+ <a href='https://github.com/max-ott'>
71
+ <img src='https://github.com/max-ott.png?size=140'>
72
+ </a>
73
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
74
+ </td>
75
+ <td id='felix-krause'>
76
+ <a href='https://github.com/KrauseFx'>
77
+ <img src='https://github.com/KrauseFx.png?size=140'>
78
+ </a>
79
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
80
+ </td>
81
81
  <td id='jan-piotrowski'>
82
82
  <a href='https://github.com/janpio'>
83
83
  <img src='https://github.com/janpio.png?size=140'>
84
84
  </a>
85
85
  <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
86
86
  </td>
87
+ <td id='jérôme-lacoste'>
88
+ <a href='https://github.com/lacostej'>
89
+ <img src='https://github.com/lacostej.png?size=140'>
90
+ </a>
91
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
92
+ </td>
87
93
  <td id='helmut-januschka'>
88
94
  <a href='https://github.com/hjanuschka'>
89
95
  <img src='https://github.com/hjanuschka.png?size=140'>
90
96
  </a>
91
97
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
92
98
  </td>
93
- <td id='max-ott'>
94
- <a href='https://github.com/max-ott'>
95
- <img src='https://github.com/max-ott.png?size=140'>
96
- </a>
97
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
98
- </td>
99
99
  </tr>
100
100
  <tr>
101
+ <td id='olivier-halligon'>
102
+ <a href='https://github.com/AliSoftware'>
103
+ <img src='https://github.com/AliSoftware.png?size=140'>
104
+ </a>
105
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
106
+ </td>
107
+ <td id='iulian-onofrei'>
108
+ <a href='https://github.com/revolter'>
109
+ <img src='https://github.com/revolter.png?size=140'>
110
+ </a>
111
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
112
+ </td>
101
113
  <td id='matthew-ellis'>
102
114
  <a href='https://github.com/matthewellis'>
103
115
  <img src='https://github.com/matthewellis.png?size=140'>
@@ -110,24 +122,12 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
110
122
  </a>
111
123
  <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
112
124
  </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>
118
- </td>
119
125
  <td id='jimmy-dee'>
120
126
  <a href='https://github.com/jdee'>
121
127
  <img src='https://github.com/jdee.png?size=140'>
122
128
  </a>
123
129
  <h4 align='center'>Jimmy Dee</h4>
124
130
  </td>
125
- <td id='jérôme-lacoste'>
126
- <a href='https://github.com/lacostej'>
127
- <img src='https://github.com/lacostej.png?size=140'>
128
- </a>
129
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
130
- </td>
131
131
  </tr>
132
132
  <tr>
133
133
  <td id='daniel-jankowski'>
@@ -136,44 +136,44 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
136
136
  </a>
137
137
  <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
138
138
  </td>
139
- <td id='andrew-mcburney'>
140
- <a href='https://github.com/armcburney'>
141
- <img src='https://github.com/armcburney.png?size=140'>
139
+ <td id='stefan-natchev'>
140
+ <a href='https://github.com/snatchev'>
141
+ <img src='https://github.com/snatchev.png?size=140'>
142
142
  </a>
143
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
143
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
144
144
  </td>
145
- <td id='kohki-miki'>
146
- <a href='https://github.com/giginet'>
147
- <img src='https://github.com/giginet.png?size=140'>
145
+ <td id='manu-wallner'>
146
+ <a href='https://github.com/milch'>
147
+ <img src='https://github.com/milch.png?size=140'>
148
148
  </a>
149
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
149
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
150
150
  </td>
151
- <td id='danielle-tomlinson'>
152
- <a href='https://github.com/endocrimes'>
153
- <img src='https://github.com/endocrimes.png?size=140'>
151
+ <td id='luka-mirosevic'>
152
+ <a href='https://github.com/lmirosevic'>
153
+ <img src='https://github.com/lmirosevic.png?size=140'>
154
154
  </a>
155
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
155
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
156
156
  </td>
157
- <td id='iulian-onofrei'>
158
- <a href='https://github.com/revolter'>
159
- <img src='https://github.com/revolter.png?size=140'>
157
+ <td id='kohki-miki'>
158
+ <a href='https://github.com/giginet'>
159
+ <img src='https://github.com/giginet.png?size=140'>
160
160
  </a>
161
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
161
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
162
162
  </td>
163
163
  </tr>
164
164
  <tr>
165
+ <td id='maksym-grebenets'>
166
+ <a href='https://github.com/mgrebenets'>
167
+ <img src='https://github.com/mgrebenets.png?size=140'>
168
+ </a>
169
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
170
+ </td>
165
171
  <td id='fumiya-nakamura'>
166
172
  <a href='https://github.com/nafu'>
167
173
  <img src='https://github.com/nafu.png?size=140'>
168
174
  </a>
169
175
  <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
170
176
  </td>
171
- <td id='felix-krause'>
172
- <a href='https://github.com/KrauseFx'>
173
- <img src='https://github.com/KrauseFx.png?size=140'>
174
- </a>
175
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
176
- </td>
177
177
  </table>
178
178
 
179
179
  Special thanks to all [contributors](https://github.com/fastlane/fastlane/graphs/contributors) for extending and improving _fastlane_.
@@ -232,7 +232,7 @@ module Cert
232
232
  cert_name = "#{cert_name}.cer" unless File.extname(cert_name) == ".cer"
233
233
  path = File.expand_path(File.join(Cert.config[:output_path], cert_name))
234
234
  raw_data = Base64.decode64(certificate.certificate_content)
235
- File.write(path, raw_data)
235
+ File.write(path, raw_data.force_encoding("UTF-8"))
236
236
  return path
237
237
  end
238
238
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.164.0'.freeze
2
+ VERSION = '2.165.0'.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
@@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.164.0
20
+ // Generated with fastlane 2.165.0
@@ -256,4 +256,4 @@ public extension DeliverfileProtocol {
256
256
 
257
257
  // Please don't remove the lines below
258
258
  // They are used to detect outdated files
259
- // FastlaneRunnerAPIVersion [0.9.47]
259
+ // FastlaneRunnerAPIVersion [0.9.48]
@@ -4748,7 +4748,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
4748
4748
  - readonly: Only fetch existing certificates and profiles, don't generate new ones
4749
4749
  - generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
4750
4750
  - skipProvisioningProfiles: Skip syncing provisioning profiles
4751
- - appIdentifier: The bundle identifier(s) of your app (comma-separated)
4751
+ - appIdentifier: The bundle identifier(s) of your app (comma-separated string or array of strings)
4752
4752
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
4753
4753
  - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
4754
4754
  - username: Your Apple ID Username
@@ -7678,7 +7678,7 @@ public func swiftlint(mode: Any = "lint",
7678
7678
  - readonly: Only fetch existing certificates and profiles, don't generate new ones
7679
7679
  - generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
7680
7680
  - skipProvisioningProfiles: Skip syncing provisioning profiles
7681
- - appIdentifier: The bundle identifier(s) of your app (comma-separated)
7681
+ - appIdentifier: The bundle identifier(s) of your app (comma-separated string or array of strings)
7682
7682
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
7683
7683
  - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
7684
7684
  - username: Your Apple ID Username
@@ -9253,7 +9253,7 @@ public func xcov(workspace: String? = nil,
9253
9253
  coverallsServiceJobId: String? = nil,
9254
9254
  coverallsRepoToken: String? = nil,
9255
9255
  xcconfig: String? = nil,
9256
- ideFoundationPath: String = "/Applications/Xcode-11.7.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
9256
+ ideFoundationPath: String = "/Applications/Xcode-12.0.1.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
9257
9257
  legacySupport: Bool = false)
9258
9258
  {
9259
9259
  let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
@@ -9399,4 +9399,4 @@ public let snapshotfile = Snapshotfile()
9399
9399
 
9400
9400
  // Please don't remove the lines below
9401
9401
  // They are used to detect outdated files
9402
- // FastlaneRunnerAPIVersion [0.9.100]
9402
+ // FastlaneRunnerAPIVersion [0.9.101]
@@ -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.164.0
20
+ // Generated with fastlane 2.165.0
@@ -184,4 +184,4 @@ public extension GymfileProtocol {
184
184
 
185
185
  // Please don't remove the lines below
186
186
  // They are used to detect outdated files
187
- // FastlaneRunnerAPIVersion [0.9.50]
187
+ // FastlaneRunnerAPIVersion [0.9.51]
@@ -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.164.0
20
+ // Generated with fastlane 2.165.0
@@ -17,7 +17,7 @@ public protocol MatchfileProtocol: class {
17
17
  /// Skip syncing provisioning profiles
18
18
  var skipProvisioningProfiles: Bool { get }
19
19
 
20
- /// The bundle identifier(s) of your app (comma-separated)
20
+ /// The bundle identifier(s) of your app (comma-separated string or array of strings)
21
21
  var appIdentifier: [String] { get }
22
22
 
23
23
  /// Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
@@ -184,4 +184,4 @@ public extension MatchfileProtocol {
184
184
 
185
185
  // Please don't remove the lines below
186
186
  // They are used to detect outdated files
187
- // FastlaneRunnerAPIVersion [0.9.44]
187
+ // FastlaneRunnerAPIVersion [0.9.45]
@@ -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.164.0
20
+ // Generated with fastlane 2.165.0
@@ -48,4 +48,4 @@ public extension PrecheckfileProtocol {
48
48
 
49
49
  // Please don't remove the lines below
50
50
  // They are used to detect outdated files
51
- // FastlaneRunnerAPIVersion [0.9.43]
51
+ // FastlaneRunnerAPIVersion [0.9.44]
@@ -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.164.0
20
+ // Generated with fastlane 2.165.0
@@ -260,4 +260,4 @@ public extension ScanfileProtocol {
260
260
 
261
261
  // Please don't remove the lines below
262
262
  // They are used to detect outdated files
263
- // FastlaneRunnerAPIVersion [0.9.55]
263
+ // FastlaneRunnerAPIVersion [0.9.56]
@@ -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.164.0
20
+ // Generated with fastlane 2.165.0
@@ -96,4 +96,4 @@ public extension ScreengrabfileProtocol {
96
96
 
97
97
  // Please don't remove the lines below
98
98
  // They are used to detect outdated files
99
- // FastlaneRunnerAPIVersion [0.9.45]
99
+ // FastlaneRunnerAPIVersion [0.9.46]
@@ -17,4 +17,4 @@ public class Snapshotfile: SnapshotfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.164.0
20
+ // Generated with fastlane 2.165.0
@@ -184,4 +184,4 @@ public extension SnapshotfileProtocol {
184
184
 
185
185
  // Please don't remove the lines below
186
186
  // They are used to detect outdated files
187
- // FastlaneRunnerAPIVersion [0.9.39]
187
+ // FastlaneRunnerAPIVersion [0.9.40]
@@ -65,7 +65,7 @@ module Match
65
65
  FastlaneCore::ConfigItem.new(key: :app_identifier,
66
66
  short_option: "-a",
67
67
  env_name: "MATCH_APP_IDENTIFIER",
68
- description: "The bundle identifier(s) of your app (comma-separated)",
68
+ description: "The bundle identifier(s) of your app (comma-separated string or array of strings)",
69
69
  type: Array, # we actually allow String and Array here
70
70
  skip_type_validation: true,
71
71
  code_gen_sensitive: true,
@@ -303,7 +303,7 @@ module Sigh
303
303
  end
304
304
 
305
305
  if Sigh.config[:cert_owner_name]
306
- next unless c.owner_name.strip == Sigh.config[:cert_owner_name].strip
306
+ next unless c.display_name.strip == Sigh.config[:cert_owner_name].strip
307
307
  end
308
308
 
309
309
  true
@@ -327,7 +327,7 @@ module Sigh
327
327
  UI.important("Found more than one code signing identity. Choosing the first one. Check out `fastlane sigh --help` to see all available options.")
328
328
  UI.important("Available Code Signing Identities for current filters:")
329
329
  certificates.each do |c|
330
- str = ["\t- Name:", c.owner_name, "- ID:", c.id + " - Expires", c.expires.strftime("%d/%m/%Y")].join(" ")
330
+ str = ["\t- Name:", c.display_name, "- ID:", c.id + " - Expires", c.expires.strftime("%d/%m/%Y")].join(" ")
331
331
  UI.message(str.green)
332
332
  end
333
333
  end
@@ -31,6 +31,8 @@ require 'spaceship/connect_api/models/beta_tester_metric'
31
31
  require 'spaceship/connect_api/models/build'
32
32
  require 'spaceship/connect_api/models/build_delivery'
33
33
  require 'spaceship/connect_api/models/build_beta_detail'
34
+ require 'spaceship/connect_api/models/custom_app_organization'
35
+ require 'spaceship/connect_api/models/custom_app_user'
34
36
  require 'spaceship/connect_api/models/pre_release_version'
35
37
 
36
38
  require 'spaceship/connect_api/models/age_rating_declaration'
@@ -13,20 +13,23 @@ module Spaceship
13
13
 
14
14
  # Initializes client with Apple's App Store Connect JWT auth key.
15
15
  #
16
- # This method will automatically use the key id, issuer id, and filepath from environment
16
+ # This method will automatically use the arguments from environment
17
17
  # variables if not given.
18
18
  #
19
- # All three parameters are needed to authenticate.
19
+ # The key_id, issuer_id and either filepath or key are needed to authenticate.
20
20
  #
21
21
  # @param key_id (String) (optional): The key id
22
22
  # @param issuer_id (String) (optional): The issuer id
23
23
  # @param filepath (String) (optional): The filepath
24
+ # @param key (String) (optional): The key
25
+ # @param duration (Integer) (optional): How long this session should last
26
+ # @param in_house (Boolean) (optional): Whether this session is an Enterprise one
24
27
  #
25
28
  # @raise InvalidUserCredentialsError: raised if authentication failed
26
29
  #
27
30
  # @return (Spaceship::ConnectAPI::Client) The client the login method was called for
28
- def self.auth(key_id: nil, issuer_id: nil, filepath: nil)
29
- token = Spaceship::ConnectAPI::Token.create(key_id: key_id, issuer_id: issuer_id, filepath: filepath)
31
+ def self.auth(key_id: nil, issuer_id: nil, filepath: nil, key: nil, duration: nil, in_house: nil)
32
+ token = Spaceship::ConnectAPI::Token.create(key_id: key_id, issuer_id: issuer_id, filepath: filepath, key: key, duration: duration, in_house: in_house)
30
33
  return ConnectAPI::Client.new(token: token)
31
34
  end
32
35
 
@@ -18,11 +18,26 @@ module Spaceship
18
18
  attr_accessor :app_store_versions
19
19
  attr_accessor :prices
20
20
 
21
+ # Only available with Apple ID auth
22
+ attr_accessor :distribution_type
23
+ attr_accessor :educationDiscountType
24
+
21
25
  module ContentRightsDeclaration
22
26
  USES_THIRD_PARTY_CONTENT = "USES_THIRD_PARTY_CONTENT"
23
27
  DOES_NOT_USE_THIRD_PARTY_CONTENT = "DOES_NOT_USE_THIRD_PARTY_CONTENT"
24
28
  end
25
29
 
30
+ module DistributionType
31
+ APP_STORE = "APP_STORE"
32
+ CUSTOM = "CUSTOM"
33
+ end
34
+
35
+ module EducationDiscountType
36
+ DISCOUNTED = "DISCOUNTED"
37
+ NOT_APPLICABLE = "NOT_APPLICABLE"
38
+ NOT_DISCOUNTED = "NOT_DISCOUNTED"
39
+ end
40
+
26
41
  self.attr_mapping({
27
42
  "name" => "name",
28
43
  "bundleId" => "bundle_id",
@@ -32,6 +47,8 @@ module Spaceship
32
47
  "removed" => "removed",
33
48
  "isAAG" => "is_aag",
34
49
  "availableInNewTerritories" => "available_in_new_territories",
50
+ "distributionType" => "distribution_type",
51
+ "educationDiscountType" => "education_discount_type",
35
52
 
36
53
  "contentRightsDeclaration" => "content_rights_declaration",
37
54
 
@@ -252,6 +269,24 @@ module Spaceship
252
269
  return resps.flat_map(&:to_models)
253
270
  end
254
271
 
272
+ #
273
+ # B2B
274
+ #
275
+
276
+ def disable_b2b
277
+ update(attributes: {
278
+ distributionType: DistributionType::APP_STORE,
279
+ education_discount_type: EducationDiscountType::NOT_DISCOUNTED
280
+ })
281
+ end
282
+
283
+ def enable_b2b
284
+ update(attributes: {
285
+ distributionType: App::DistributionType::CUSTOM,
286
+ education_discount_type: EducationDiscountType::NOT_APPLICABLE
287
+ })
288
+ end
289
+
255
290
  #
256
291
  # Beta Feedback
257
292
  #
@@ -323,6 +358,22 @@ module Spaceship
323
358
  return resps.flat_map(&:to_models).first
324
359
  end
325
360
 
361
+ #
362
+ # Education
363
+ #
364
+
365
+ def disable_educational_discount
366
+ update(attributes: {
367
+ education_discount_type: EducationDiscountType::NOT_DISCOUNTED
368
+ })
369
+ end
370
+
371
+ def enable_educational_discount
372
+ update(attributes: {
373
+ education_discount_type: EducationDiscountType::DISCOUNTED
374
+ })
375
+ end
376
+
326
377
  #
327
378
  # Users
328
379
  #
@@ -0,0 +1,43 @@
1
+ require_relative '../model'
2
+ module Spaceship
3
+ class ConnectAPI
4
+ class CustomAppOrganization
5
+ include Spaceship::ConnectAPI::Model
6
+
7
+ attr_accessor :device_enrollment_program_id
8
+ attr_accessor :name
9
+
10
+ attr_mapping({
11
+ "deviceEnrollmentProgramId" => "device_enrollment_program_id",
12
+ "name" => "name"
13
+ })
14
+
15
+ def self.type
16
+ return "customAppOrganizations"
17
+ end
18
+
19
+ #
20
+ # API
21
+ #
22
+
23
+ def self.all(app_id: nil, filter: {}, includes: nil, limit: nil, sort: nil)
24
+ resps = Spaceship::ConnectAPI.get_custom_app_organization(
25
+ app_id: app_id,
26
+ filter: filter,
27
+ includes: includes,
28
+ limit: nil,
29
+ sort: nil
30
+ ).all_pages
31
+ return resps.flat_map(&:to_models)
32
+ end
33
+
34
+ def self.create(app_id: nil, device_enrollment_program_id: nil, name: nil)
35
+ return Spaceship::ConnectAPI.post_custom_app_organization(app_id: app_id, device_enrollment_program_id: device_enrollment_program_id, name: name).first
36
+ end
37
+
38
+ def delete!
39
+ Spaceship::ConnectAPI.delete_custom_app_organization(custom_app_organization_id: id)
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,41 @@
1
+ require_relative '../model'
2
+ module Spaceship
3
+ class ConnectAPI
4
+ class CustomAppUser
5
+ include Spaceship::ConnectAPI::Model
6
+
7
+ attr_accessor :apple_id
8
+
9
+ attr_mapping({
10
+ "appleId" => "apple_id"
11
+ })
12
+
13
+ def self.type
14
+ return "customAppUsers"
15
+ end
16
+
17
+ #
18
+ # API
19
+ #
20
+
21
+ def self.all(app_id: nil, filter: {}, includes: nil, limit: nil, sort: nil)
22
+ resps = Spaceship::ConnectAPI.get_custom_app_users(
23
+ app_id: app_id,
24
+ filter: filter,
25
+ includes: includes,
26
+ limit: nil,
27
+ sort: nil
28
+ ).all_pages
29
+ return resps.flat_map(&:to_models)
30
+ end
31
+
32
+ def self.create(app_id: nil, apple_id: nil)
33
+ return Spaceship::ConnectAPI.post_custom_app_user(app_id: app_id, apple_id: apple_id).first
34
+ end
35
+
36
+ def delete!
37
+ Spaceship::ConnectAPI.delete_custom_app_user(custom_app_user_id: id)
38
+ end
39
+ end
40
+ end
41
+ end
@@ -44,20 +44,23 @@ module Spaceship
44
44
 
45
45
  # Initializes client with Apple's App Store Connect JWT auth key.
46
46
  #
47
- # This method will automatically use the key id, issuer id, and filepath from environment
47
+ # This method will automatically use the arguments from environment
48
48
  # variables if not given.
49
49
  #
50
- # All three parameters are needed to authenticate.
50
+ # The key_id, issuer_id and either filepath or key are needed to authenticate.
51
51
  #
52
52
  # @param key_id (String) (optional): The key id
53
53
  # @param issuer_id (String) (optional): The issuer id
54
54
  # @param filepath (String) (optional): The filepath
55
+ # @param key (String) (optional): The key
56
+ # @param duration (Integer) (optional): How long this session should last
57
+ # @param in_house (Boolean) (optional): Whether this session is an Enterprise one
55
58
  #
56
59
  # @raise InvalidUserCredentialsError: raised if authentication failed
57
60
  #
58
61
  # @return (Spaceship::ConnectAPI::Client) The client the login method was called for
59
- def auth(key_id: nil, issuer_id: nil, filepath: nil)
60
- @client = ConnectAPI::Client.auth(key_id: key_id, issuer_id: issuer_id, filepath: filepath)
62
+ def auth(key_id: nil, issuer_id: nil, filepath: nil, key: nil, duration: nil, in_house: nil)
63
+ @client = ConnectAPI::Client.auth(key_id: key_id, issuer_id: issuer_id, filepath: filepath, key: key, duration: duration, in_house: in_house)
61
64
  end
62
65
 
63
66
  # Authenticates with Apple's web services. This method has to be called once
@@ -890,6 +890,77 @@ module Spaceship
890
890
  tunes_request_client.post("appStoreVersionReleaseRequests", body)
891
891
  end
892
892
 
893
+ #
894
+ # customAppUsers
895
+ #
896
+
897
+ def get_custom_app_users(app_id: nil, filter: nil, includes: nil, limit: nil, sort: nil)
898
+ params = tunes_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
899
+ tunes_request_client.get("apps/#{app_id}/customAppUsers", params)
900
+ end
901
+
902
+ def post_custom_app_user(app_id: nil, apple_id: nil)
903
+ body = {
904
+ data: {
905
+ type: "customAppUsers",
906
+ attributes: {
907
+ appleId: apple_id
908
+ },
909
+ relationships: {
910
+ app: {
911
+ data: {
912
+ type: "apps",
913
+ id: app_id
914
+ }
915
+ }
916
+ }
917
+ }
918
+ }
919
+
920
+ tunes_request_client.post("customAppUsers", body)
921
+ end
922
+
923
+ def delete_custom_app_user(custom_app_user_id: nil)
924
+ params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
925
+ tunes_request_client.delete("customAppUsers/#{custom_app_user_id}", params)
926
+ end
927
+
928
+ #
929
+ # customOrganizationUsers
930
+ #
931
+
932
+ def get_custom_app_organization(app_id: nil, filter: nil, includes: nil, limit: nil, sort: nil)
933
+ params = tunes_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
934
+ tunes_request_client.get("apps/#{app_id}/customAppOrganizations", params)
935
+ end
936
+
937
+ def post_custom_app_organization(app_id: nil, device_enrollment_program_id: nil, name: nil)
938
+ body = {
939
+ data: {
940
+ type: "customAppOrganizations",
941
+ attributes: {
942
+ deviceEnrollmentProgramId: device_enrollment_program_id,
943
+ name: name
944
+ },
945
+ relationships: {
946
+ app: {
947
+ data: {
948
+ type: "apps",
949
+ id: app_id
950
+ }
951
+ }
952
+ }
953
+ }
954
+ }
955
+
956
+ tunes_request_client.post("customAppOrganizations", body)
957
+ end
958
+
959
+ def delete_custom_app_organization(custom_app_organization_id: nil)
960
+ params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
961
+ tunes_request_client.delete("customAppOrganizations/#{custom_app_organization_id}", params)
962
+ end
963
+
893
964
  #
894
965
  # idfaDeclarations
895
966
  #
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.164.0
4
+ version: 2.165.0
5
5
  platform: ruby
6
6
  authors:
7
- - Helmut Januschka
8
- - Luka Mirosevic
9
- - Fumiya Nakamura
10
- - Jimmy Dee
7
+ - Jorge Revuelta H
8
+ - Matthew Ellis
9
+ - Felix Krause
10
+ - Josh Holtz
11
+ - Danielle Tomlinson
12
+ - Jérôme Lacoste
13
+ - Kohki Miki
11
14
  - Maksym Grebenets
15
+ - Aaron Brager
16
+ - Jimmy Dee
17
+ - Max Ott
18
+ - Luka Mirosevic
12
19
  - Manu Wallner
13
- - Danielle Tomlinson
14
20
  - Jan Piotrowski
15
- - Max Ott
21
+ - Stefan Natchev
22
+ - Andrew McBurney
23
+ - Fumiya Nakamura
16
24
  - Iulian Onofrei
17
- - Jérôme Lacoste
18
- - Matthew Ellis
19
25
  - Olivier Halligon
20
- - Josh Holtz
21
- - Jorge Revuelta H
22
- - Aaron Brager
23
- - Felix Krause
24
26
  - Joshua Liebowitz
25
- - Kohki Miki
26
- - Stefan Natchev
27
27
  - Daniel Jankowski
28
- - Andrew McBurney
28
+ - Helmut Januschka
29
29
  autorequire:
30
30
  bindir: bin
31
31
  cert_chain: []
32
- date: 2020-10-19 00:00:00.000000000 Z
32
+ date: 2020-10-23 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: slack-notifier
@@ -983,6 +983,7 @@ files:
983
983
  - fastlane/lib/fastlane/.erb_template_helper.rb.swp
984
984
  - fastlane/lib/fastlane/action.rb
985
985
  - fastlane/lib/fastlane/action_collector.rb
986
+ - fastlane/lib/fastlane/actions/.download_dsyms.rb.swp
986
987
  - fastlane/lib/fastlane/actions/.git_commit.rb.swp
987
988
  - fastlane/lib/fastlane/actions/README.md
988
989
  - fastlane/lib/fastlane/actions/actions_helper.rb
@@ -1453,9 +1454,6 @@ files:
1453
1454
  - match/lib/assets/MatchfileTemplate.swift
1454
1455
  - match/lib/assets/READMETemplate.md
1455
1456
  - match/lib/match.rb
1456
- - match/lib/match/.commands_generator.rb.swp
1457
- - match/lib/match/.importer.rb.swp
1458
- - match/lib/match/.options.rb.swp
1459
1457
  - match/lib/match/change_password.rb
1460
1458
  - match/lib/match/commands_generator.rb
1461
1459
  - match/lib/match/encryption.rb
@@ -1657,6 +1655,8 @@ files:
1657
1655
  - spaceship/lib/spaceship/connect_api/models/bundle_id.rb
1658
1656
  - spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb
1659
1657
  - spaceship/lib/spaceship/connect_api/models/certificate.rb
1658
+ - spaceship/lib/spaceship/connect_api/models/custom_app_organization.rb
1659
+ - spaceship/lib/spaceship/connect_api/models/custom_app_user.rb
1660
1660
  - spaceship/lib/spaceship/connect_api/models/device.rb
1661
1661
  - spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb
1662
1662
  - spaceship/lib/spaceship/connect_api/models/pre_release_version.rb