fastlane 2.164.0 → 2.165.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +68 -68
- data/cert/lib/cert/runner.rb +1 -1
- data/{match/lib/match/.options.rb.swp → fastlane/lib/fastlane/actions/.download_dsyms.rb.swp} +0 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +4 -4
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +2 -2
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/match/lib/match/options.rb +1 -1
- data/sigh/lib/sigh/runner.rb +2 -2
- data/spaceship/lib/spaceship/connect_api.rb +2 -0
- data/spaceship/lib/spaceship/connect_api/client.rb +7 -4
- data/spaceship/lib/spaceship/connect_api/models/app.rb +51 -0
- data/spaceship/lib/spaceship/connect_api/models/custom_app_organization.rb +43 -0
- data/spaceship/lib/spaceship/connect_api/models/custom_app_user.rb +41 -0
- data/spaceship/lib/spaceship/connect_api/spaceship.rb +7 -4
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +71 -0
- metadata +20 -20
- data/match/lib/match/.commands_generator.rb.swp +0 -0
- data/match/lib/match/.importer.rb.swp +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 314c607226cc1a8a4f1c7e23e6087f11ba72d05d1b95c55b4dc2477bc1a7edbe
|
4
|
+
data.tar.gz: 211a75deb1403c2d94ee7542b48f361e88780251539d5fb57384da76f8914549
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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='
|
62
|
-
<a href='https://github.com/
|
63
|
-
<img src='https://github.com/
|
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/
|
47
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
66
48
|
</td>
|
67
|
-
|
68
|
-
<
|
69
|
-
<
|
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/
|
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='
|
140
|
-
<a href='https://github.com/
|
141
|
-
<img src='https://github.com/
|
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/
|
143
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
144
144
|
</td>
|
145
|
-
<td id='
|
146
|
-
<a href='https://github.com/
|
147
|
-
<img src='https://github.com/
|
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/
|
149
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
150
150
|
</td>
|
151
|
-
<td id='
|
152
|
-
<a href='https://github.com/
|
153
|
-
<img src='https://github.com/
|
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/
|
155
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
156
156
|
</td>
|
157
|
-
<td id='
|
158
|
-
<a href='https://github.com/
|
159
|
-
<img src='https://github.com/
|
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/
|
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_.
|
data/cert/lib/cert/runner.rb
CHANGED
@@ -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
|
data/{match/lib/match/.options.rb.swp → fastlane/lib/fastlane/actions/.download_dsyms.rb.swp}
RENAMED
Binary file
|
@@ -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-
|
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.
|
9402
|
+
// FastlaneRunnerAPIVersion [0.9.101]
|
@@ -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.
|
187
|
+
// FastlaneRunnerAPIVersion [0.9.45]
|
data/match/lib/match/options.rb
CHANGED
@@ -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,
|
data/sigh/lib/sigh/runner.rb
CHANGED
@@ -303,7 +303,7 @@ module Sigh
|
|
303
303
|
end
|
304
304
|
|
305
305
|
if Sigh.config[:cert_owner_name]
|
306
|
-
next unless c.
|
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.
|
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
|
16
|
+
# This method will automatically use the arguments from environment
|
17
17
|
# variables if not given.
|
18
18
|
#
|
19
|
-
#
|
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
|
47
|
+
# This method will automatically use the arguments from environment
|
48
48
|
# variables if not given.
|
49
49
|
#
|
50
|
-
#
|
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.
|
4
|
+
version: 2.165.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
-
|
9
|
-
-
|
10
|
-
-
|
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
|
-
-
|
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
|
-
-
|
28
|
+
- Helmut Januschka
|
29
29
|
autorequire:
|
30
30
|
bindir: bin
|
31
31
|
cert_chain: []
|
32
|
-
date: 2020-10-
|
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
|
Binary file
|
Binary file
|