fastlane 2.116.0 → 2.116.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +74 -74
- data/fastlane/lib/assets/ActionDetails.md.erb +1 -1
- data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/modify_services.rb +9 -8
- data/fastlane/lib/fastlane/actions/prompt.rb +2 -1
- data/fastlane/lib/fastlane/actions/slack.rb +2 -2
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +6 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane_core/lib/fastlane_core/languages.rb +6 -1
- data/match/lib/match/generator.rb +2 -0
- data/match/lib/match/runner.rb +8 -0
- data/match/lib/match/utils.rb +6 -0
- data/pilot/lib/pilot/options.rb +2 -2
- data/produce/lib/produce/available_default_languages.rb +13 -0
- data/scan/lib/scan/runner.rb +1 -1
- data/spaceship/lib/assets/languageMapping.json +54 -0
- data/spaceship/lib/spaceship/portal/ui/.select_team.rb.swp +0 -0
- data/spaceship/lib/spaceship/portal/ui/select_team.rb +9 -2
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +6 -0
- data/supply/lib/supply/client.rb +29 -36
- metadata +19 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 357885244c4c5a55322d9a30cebfc76890ddac94
|
4
|
+
data.tar.gz: 63b0437cc8422220f613c424245feed9a72ce203
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e8d22bf1baac9a797a20267c533c7f9fc6d5a7ca6db3c6594799fa8f594f602a788b3d61fe78143ad3e6bbce3476df9f885e362aae6bc44d7d6ec5bd2e55722
|
7
|
+
data.tar.gz: f9c9c84163439e511110c5f6a6037c1a09c51da1e8bc1e86f1c52be46ddb4b5f74306fddc3074c70271c5579460786719ea78a364b8fc5ce313eafde9ab2d6fe
|
data/README.md
CHANGED
@@ -33,43 +33,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
33
33
|
<!-- This table is regenerated and resorted on each release -->
|
34
34
|
<table id='team'>
|
35
35
|
<tr>
|
36
|
-
<td id='
|
37
|
-
<a href='https://github.com/
|
38
|
-
<img src='https://github.com/
|
39
|
-
</a>
|
40
|
-
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
41
|
-
</td>
|
42
|
-
<td id='iulian-onofrei'>
|
43
|
-
<a href='https://github.com/revolter'>
|
44
|
-
<img src='https://github.com/revolter.png?size=140'>
|
45
|
-
</a>
|
46
|
-
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
47
|
-
</td>
|
48
|
-
<td id='kohki-miki'>
|
49
|
-
<a href='https://github.com/giginet'>
|
50
|
-
<img src='https://github.com/giginet.png?size=140'>
|
51
|
-
</a>
|
52
|
-
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
53
|
-
</td>
|
54
|
-
<td id='jérôme-lacoste'>
|
55
|
-
<a href='https://github.com/lacostej'>
|
56
|
-
<img src='https://github.com/lacostej.png?size=140'>
|
57
|
-
</a>
|
58
|
-
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
59
|
-
</td>
|
60
|
-
<td id='manu-wallner'>
|
61
|
-
<a href='https://github.com/milch'>
|
62
|
-
<img src='https://github.com/milch.png?size=140'>
|
36
|
+
<td id='jan-piotrowski'>
|
37
|
+
<a href='https://github.com/janpio'>
|
38
|
+
<img src='https://github.com/janpio.png?size=140'>
|
63
39
|
</a>
|
64
|
-
<h4 align='center'><a href='https://twitter.com/
|
40
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
65
41
|
</td>
|
66
|
-
|
67
|
-
<
|
68
|
-
<
|
69
|
-
<a href='https://github.com/jdee'>
|
70
|
-
<img src='https://github.com/jdee.png?size=140'>
|
42
|
+
<td id='aaron-brager'>
|
43
|
+
<a href='https://github.com/getaaron'>
|
44
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
71
45
|
</a>
|
72
|
-
<h4 align='center'>
|
46
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
73
47
|
</td>
|
74
48
|
<td id='felix-krause'>
|
75
49
|
<a href='https://github.com/KrauseFx'>
|
@@ -77,43 +51,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
77
51
|
</a>
|
78
52
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
79
53
|
</td>
|
80
|
-
<td id='fumiya-nakamura'>
|
81
|
-
<a href='https://github.com/nafu'>
|
82
|
-
<img src='https://github.com/nafu.png?size=140'>
|
83
|
-
</a>
|
84
|
-
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
85
|
-
</td>
|
86
54
|
<td id='josh-holtz'>
|
87
55
|
<a href='https://github.com/joshdholtz'>
|
88
56
|
<img src='https://github.com/joshdholtz.png?size=140'>
|
89
57
|
</a>
|
90
58
|
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
91
59
|
</td>
|
92
|
-
<td id='
|
93
|
-
<a href='https://github.com/
|
94
|
-
<img src='https://github.com/
|
60
|
+
<td id='fumiya-nakamura'>
|
61
|
+
<a href='https://github.com/nafu'>
|
62
|
+
<img src='https://github.com/nafu.png?size=140'>
|
95
63
|
</a>
|
96
|
-
<h4 align='center'><a href='https://twitter.com/
|
64
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
97
65
|
</td>
|
98
66
|
</tr>
|
99
67
|
<tr>
|
100
|
-
<td id='
|
101
|
-
<a href='https://github.com/
|
102
|
-
<img src='https://github.com/
|
68
|
+
<td id='jérôme-lacoste'>
|
69
|
+
<a href='https://github.com/lacostej'>
|
70
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
103
71
|
</a>
|
104
|
-
<h4 align='center'><a href='https://twitter.com/
|
72
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
105
73
|
</td>
|
106
|
-
<td id='
|
107
|
-
<a href='https://github.com/
|
108
|
-
<img src='https://github.com/
|
74
|
+
<td id='manu-wallner'>
|
75
|
+
<a href='https://github.com/milch'>
|
76
|
+
<img src='https://github.com/milch.png?size=140'>
|
109
77
|
</a>
|
110
|
-
<h4 align='center'><a href='https://twitter.com/
|
78
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
111
79
|
</td>
|
112
|
-
<td id='
|
113
|
-
<a href='https://github.com/
|
114
|
-
<img src='https://github.com/
|
80
|
+
<td id='danielle-tomlinson'>
|
81
|
+
<a href='https://github.com/DanToml'>
|
82
|
+
<img src='https://github.com/DanToml.png?size=140'>
|
115
83
|
</a>
|
116
|
-
<h4 align='center'><a href='https://twitter.com/
|
84
|
+
<h4 align='center'><a href='https://twitter.com/DanToml'>Danielle Tomlinson</a></h4>
|
117
85
|
</td>
|
118
86
|
<td id='maksym-grebenets'>
|
119
87
|
<a href='https://github.com/mgrebenets'>
|
@@ -121,19 +89,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
121
89
|
</a>
|
122
90
|
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
123
91
|
</td>
|
92
|
+
<td id='luka-mirosevic'>
|
93
|
+
<a href='https://github.com/lmirosevic'>
|
94
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
95
|
+
</a>
|
96
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
97
|
+
</td>
|
98
|
+
</tr>
|
99
|
+
<tr>
|
100
|
+
<td id='iulian-onofrei'>
|
101
|
+
<a href='https://github.com/revolter'>
|
102
|
+
<img src='https://github.com/revolter.png?size=140'>
|
103
|
+
</a>
|
104
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
105
|
+
</td>
|
124
106
|
<td id='jorge-revuelta-h'>
|
125
107
|
<a href='https://github.com/minuscorp'>
|
126
108
|
<img src='https://github.com/minuscorp.png?size=140'>
|
127
109
|
</a>
|
128
110
|
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
129
111
|
</td>
|
112
|
+
<td id='kohki-miki'>
|
113
|
+
<a href='https://github.com/giginet'>
|
114
|
+
<img src='https://github.com/giginet.png?size=140'>
|
115
|
+
</a>
|
116
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
117
|
+
</td>
|
118
|
+
<td id='jimmy-dee'>
|
119
|
+
<a href='https://github.com/jdee'>
|
120
|
+
<img src='https://github.com/jdee.png?size=140'>
|
121
|
+
</a>
|
122
|
+
<h4 align='center'>Jimmy Dee</h4>
|
123
|
+
</td>
|
124
|
+
<td id='stefan-natchev'>
|
125
|
+
<a href='https://github.com/snatchev'>
|
126
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
127
|
+
</a>
|
128
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
129
|
+
</td>
|
130
130
|
</tr>
|
131
131
|
<tr>
|
132
|
-
<td id='
|
133
|
-
<a href='https://github.com/
|
134
|
-
<img src='https://github.com/
|
132
|
+
<td id='helmut-januschka'>
|
133
|
+
<a href='https://github.com/hjanuschka'>
|
134
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
135
135
|
</a>
|
136
|
-
<h4 align='center'><a href='https://twitter.com/
|
136
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
137
|
+
</td>
|
138
|
+
<td id='olivier-halligon'>
|
139
|
+
<a href='https://github.com/AliSoftware'>
|
140
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
141
|
+
</a>
|
142
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
137
143
|
</td>
|
138
144
|
<td id='joshua-liebowitz'>
|
139
145
|
<a href='https://github.com/taquitos'>
|
@@ -141,23 +147,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
141
147
|
</a>
|
142
148
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
143
149
|
</td>
|
144
|
-
<td id='
|
145
|
-
<a href='https://github.com/
|
146
|
-
<img src='https://github.com/
|
147
|
-
</a>
|
148
|
-
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
149
|
-
</td>
|
150
|
-
<td id='jan-piotrowski'>
|
151
|
-
<a href='https://github.com/janpio'>
|
152
|
-
<img src='https://github.com/janpio.png?size=140'>
|
150
|
+
<td id='andrew-mcburney'>
|
151
|
+
<a href='https://github.com/armcburney'>
|
152
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
153
153
|
</a>
|
154
|
-
<h4 align='center'><a href='https://twitter.com/
|
154
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
155
155
|
</td>
|
156
|
-
<td id='
|
157
|
-
<a href='https://github.com/
|
158
|
-
<img src='https://github.com/
|
156
|
+
<td id='matthew-ellis'>
|
157
|
+
<a href='https://github.com/matthewellis'>
|
158
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
159
159
|
</a>
|
160
|
-
<h4 align='center'><a href='https://twitter.com/
|
160
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
161
161
|
</td>
|
162
162
|
</tr>
|
163
163
|
</table>
|
@@ -74,7 +74,7 @@ To pass parameters, make use of the `:` symbol, for example
|
|
74
74
|
fastlane run <%= @action.action_name %> parameter1:"value1" parameter2:"value2"
|
75
75
|
```
|
76
76
|
|
77
|
-
It's important to note that the CLI supports
|
77
|
+
It's important to note that the CLI supports primitive types like integers, floats, booleans, and strings. Arrays can be passed as a comma delimited string (e.g. `param:"1,2,3"`). Hashes are not currently supported.
|
78
78
|
|
79
79
|
It is recommended to add all _fastlane_ actions you use to your `Fastfile`.
|
80
80
|
|
Binary file
|
@@ -4,16 +4,14 @@ module Fastlane
|
|
4
4
|
def self.run(params)
|
5
5
|
require 'produce'
|
6
6
|
|
7
|
-
return if Helper.test?
|
8
|
-
|
9
7
|
Produce.config = params
|
10
8
|
|
11
9
|
Dir.chdir(FastlaneCore::FastlaneFolder.path || Dir.pwd) do
|
12
10
|
require 'produce/service'
|
13
11
|
services = params[:services]
|
14
12
|
|
15
|
-
enabled_services = services.
|
16
|
-
disabled_services = services.
|
13
|
+
enabled_services = services.select { |_k, v| v == true || v.to_s == 'on' }.map { |k, v| [k, 'on'] }.to_h
|
14
|
+
disabled_services = services.reject { |_k, v| v == true || v.to_s == 'on' }.map { |k, v| [k, 'off'] }.to_h
|
17
15
|
|
18
16
|
enabled_services_object = self.service_object
|
19
17
|
enabled_services.each do |k, v|
|
@@ -72,7 +70,7 @@ module Fastlane
|
|
72
70
|
|
73
71
|
def self.allowed_services_description
|
74
72
|
return Produce::DeveloperCenter::ALLOWED_SERVICES.map do |k, v|
|
75
|
-
"#{k}: (#{v.join('|')})"
|
73
|
+
"#{k}: (#{v.join('|')})(:on|:off)(true|false)"
|
76
74
|
end.join(", ")
|
77
75
|
end
|
78
76
|
|
@@ -158,9 +156,12 @@ module Fastlane
|
|
158
156
|
app_identifier: "com.someorg.app",
|
159
157
|
services: {
|
160
158
|
push_notification: "on",
|
161
|
-
associated_domains: "off"
|
162
|
-
|
163
|
-
|
159
|
+
associated_domains: "off",
|
160
|
+
wallet: :on,
|
161
|
+
apple_pay: :off,
|
162
|
+
data_protection: true,
|
163
|
+
multipath: false
|
164
|
+
})'
|
164
165
|
]
|
165
166
|
end
|
166
167
|
|
@@ -17,7 +17,8 @@ module Fastlane
|
|
17
17
|
UI.important("Submit inputs using \"#{params[:multi_line_end_keyword]}\"")
|
18
18
|
user_input = ""
|
19
19
|
loop do
|
20
|
-
line = STDIN.gets
|
20
|
+
line = STDIN.gets # returns `nil` if called at end of file
|
21
|
+
break unless line
|
21
22
|
end_tag_index = line.index(end_tag)
|
22
23
|
if end_tag_index.nil?
|
23
24
|
user_input << line
|
@@ -156,7 +156,7 @@ module Fastlane
|
|
156
156
|
"Built by" => "Jenkins",
|
157
157
|
},
|
158
158
|
default_payloads: [:git_branch, :git_author], # Optional, lets you specify a whitelist of default payloads to include. Pass an empty array to suppress all the default payloads.
|
159
|
-
# Don\'t add this key, or pass nil, if you want all the default payloads. The available default payloads are: `lane`, `test_result`, `git_branch`, `git_author`, `
|
159
|
+
# Don\'t add this key, or pass nil, if you want all the default payloads. The available default payloads are: `lane`, `test_result`, `git_branch`, `git_author`, `last_git_commit`, `last_git_commit_hash`.
|
160
160
|
attachment_properties: { # Optional, lets you specify any other properties available for attachments in the slack API (see https://api.slack.com/docs/attachments).
|
161
161
|
# This hash is deep merged with the existing properties set using the other properties above. This allows your own fields properties to be appended to the existing fields that were created using the `payload` property for instance.
|
162
162
|
thumb_url: "http://example.com/path/to/thumb.png",
|
@@ -184,7 +184,7 @@ module Fastlane
|
|
184
184
|
|
185
185
|
def self.generate_slack_attachments(options)
|
186
186
|
color = (options[:success] ? 'good' : 'danger')
|
187
|
-
should_add_payload = ->(payload_name) { options[:default_payloads].nil? || options[:default_payloads].
|
187
|
+
should_add_payload = ->(payload_name) { options[:default_payloads].nil? || options[:default_payloads].map(&:to_sym).include?(payload_name.to_sym) }
|
188
188
|
|
189
189
|
slack_attachment = {
|
190
190
|
fallback: options[:message],
|
@@ -102,6 +102,12 @@ module Fastlane
|
|
102
102
|
# When we launch this feature, this should never be the case
|
103
103
|
abort("#{tool_name} can't be called via `fastlane #{tool_name}`, run '#{tool_name}' directly instead".red)
|
104
104
|
end
|
105
|
+
|
106
|
+
# Some of the tools use other actions so need to load all
|
107
|
+
# actions before we start the tool generator
|
108
|
+
# Example: scan uses slack
|
109
|
+
Fastlane.load_actions
|
110
|
+
|
105
111
|
commands_generator.start
|
106
112
|
elsif tool_name == "fastlane-credentials"
|
107
113
|
require 'credentials_manager'
|
@@ -6,6 +6,11 @@ module FastlaneCore
|
|
6
6
|
ALL_LANGUAGES_LEGACY = ["da-DK", "de-DE", "el-GR", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "id-ID", "it-IT", "ja-JP", "ko-KR", "ms-MY", "nl-NL", "no-NO", "pt-BR", "pt-PT", "ru-RU", "sv-SE", "th-TH", "tr-TR", "vi-VI", "cmn-Hans", "cmn-Hant"]
|
7
7
|
|
8
8
|
# The new format used from September 2015 on
|
9
|
-
|
9
|
+
# This was generated from `Spaceship::Tunes.client.available_languages.sort`
|
10
|
+
# Updates should also be made to:
|
11
|
+
# - produce/lib/produce/available_default_languages.rb
|
12
|
+
# - spaceship/lib/assets/languageMapping.json
|
13
|
+
# See pull request for example: https://github.com/fastlane/fastlane/pull/14110
|
14
|
+
ALL_LANGUAGES = ["ca", "cs", "da", "de-DE", "el", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi", "fr-CA", "fr-FR", "hi", "hr", "hu", "id", "it", "ja", "ko", "ms", "nl-NL", "no", "pl", "pt-BR", "pt-PT", "ro", "ru", "sk", "sv", "th", "tr", "uk", "vi", "zh-Hans", "zh-Hant"]
|
10
15
|
end
|
11
16
|
end
|
@@ -15,6 +15,7 @@ module Match
|
|
15
15
|
force: true, # we don't need a certificate without its private key, we only care about a new certificate
|
16
16
|
username: params[:username],
|
17
17
|
team_id: params[:team_id],
|
18
|
+
team_name: params[:team_name],
|
18
19
|
keychain_path: FastlaneCore::Helper.keychain_path(params[:keychain_name]),
|
19
20
|
keychain_password: params[:keychain_password]
|
20
21
|
})
|
@@ -63,6 +64,7 @@ module Match
|
|
63
64
|
provisioning_name: profile_name,
|
64
65
|
ignore_profiles_with_different_name: true,
|
65
66
|
team_id: params[:team_id],
|
67
|
+
team_name: params[:team_name],
|
66
68
|
template_name: params[:template_name]
|
67
69
|
}
|
68
70
|
|
data/match/lib/match/runner.rb
CHANGED
@@ -169,6 +169,14 @@ module Match
|
|
169
169
|
self.files_to_commit << private_key_path
|
170
170
|
else
|
171
171
|
cert_path = certs.last
|
172
|
+
|
173
|
+
# Check validity of certificate
|
174
|
+
if Utils.is_cert_valid?(cert_path)
|
175
|
+
UI.verbose("Your certificate '#{File.basename(cert_path)}' is valid")
|
176
|
+
else
|
177
|
+
UI.user_error!("Your certificate '#{File.basename(cert_path)}' is not valid, please check end date and renew it if necessary")
|
178
|
+
end
|
179
|
+
|
172
180
|
if Helper.mac?
|
173
181
|
UI.message("Installing certificate...")
|
174
182
|
|
data/match/lib/match/utils.rb
CHANGED
@@ -58,6 +58,12 @@ module Match
|
|
58
58
|
return {}
|
59
59
|
end
|
60
60
|
|
61
|
+
def self.is_cert_valid?(cer_certificate_path)
|
62
|
+
cert = OpenSSL::X509::Certificate.new(File.binread(cer_certificate_path))
|
63
|
+
now = Time.now.utc
|
64
|
+
return (now <=> cert.not_after) == -1
|
65
|
+
end
|
66
|
+
|
61
67
|
def self.base_environment_variable_name(app_identifier: nil, type: nil, platform: :ios)
|
62
68
|
if platform.to_s == :ios.to_s
|
63
69
|
["sigh", app_identifier, type] # We keep the ios profiles without the platform for backwards compatibility
|
data/pilot/lib/pilot/options.rb
CHANGED
@@ -51,12 +51,12 @@ module Pilot
|
|
51
51
|
short_option: "-w",
|
52
52
|
optional: true,
|
53
53
|
env_name: "PILOT_CHANGELOG",
|
54
|
-
description: "Provide the '
|
54
|
+
description: "Provide the 'What to Test' text when uploading a new build. `skip_waiting_for_build_processing: false` is required to set the changelog"),
|
55
55
|
FastlaneCore::ConfigItem.new(key: :beta_app_description,
|
56
56
|
short_option: "-d",
|
57
57
|
optional: true,
|
58
58
|
env_name: "PILOT_BETA_APP_DESCRIPTION",
|
59
|
-
description: "Provide the
|
59
|
+
description: "Provide the 'Beta App Description' when uploading a new build"),
|
60
60
|
FastlaneCore::ConfigItem.new(key: :beta_app_feedback_email,
|
61
61
|
short_option: "-n",
|
62
62
|
optional: true,
|
@@ -1,7 +1,14 @@
|
|
1
1
|
module Produce
|
2
2
|
class AvailableDefaultLanguages
|
3
|
+
# If you update this list, you probably also have to update these files:
|
4
|
+
# - fastlane_core/lib/fastlane_core/languages.rb
|
5
|
+
# - spaceship/lib/assets/languageMapping.json
|
6
|
+
# See this pull request for example: https://github.com/fastlane/fastlane/pull/14110
|
3
7
|
def self.all_languages
|
4
8
|
[
|
9
|
+
"Catalan",
|
10
|
+
"Croatian",
|
11
|
+
"Czech",
|
5
12
|
"Brazilian Portuguese",
|
6
13
|
"Danish",
|
7
14
|
"Dutch",
|
@@ -14,18 +21,24 @@ module Produce
|
|
14
21
|
"French_CA",
|
15
22
|
"German",
|
16
23
|
"Greek",
|
24
|
+
"Hindi",
|
25
|
+
"Hungarian",
|
17
26
|
"Indonesian",
|
18
27
|
"Italian",
|
19
28
|
"Japanese",
|
20
29
|
"Korean",
|
21
30
|
"Malay",
|
22
31
|
"Norwegian",
|
32
|
+
"Polish",
|
23
33
|
"Portuguese",
|
34
|
+
"Romanian",
|
24
35
|
"Russian",
|
25
36
|
"Simplified Chinese",
|
37
|
+
"Slovak",
|
26
38
|
"Spanish",
|
27
39
|
"Spanish_MX",
|
28
40
|
"Swedish",
|
41
|
+
"Ukrainian",
|
29
42
|
"Thai",
|
30
43
|
"Traditional Chinese",
|
31
44
|
"Turkish",
|
data/scan/lib/scan/runner.rb
CHANGED
@@ -93,6 +93,7 @@ module Scan
|
|
93
93
|
puts("")
|
94
94
|
|
95
95
|
copy_simulator_logs
|
96
|
+
zip_build_products
|
96
97
|
|
97
98
|
if result[:failures] > 0
|
98
99
|
open_report
|
@@ -104,7 +105,6 @@ module Scan
|
|
104
105
|
UI.test_failure!("Test execution failed. Exit status: #{tests_exit_status}")
|
105
106
|
end
|
106
107
|
|
107
|
-
zip_build_products
|
108
108
|
open_report
|
109
109
|
end
|
110
110
|
|
@@ -1,4 +1,10 @@
|
|
1
1
|
[
|
2
|
+
{
|
3
|
+
"locale": "ca-ES",
|
4
|
+
"name": "Catalan",
|
5
|
+
"game-center": false,
|
6
|
+
"itc_locale": "ca"
|
7
|
+
},
|
2
8
|
{
|
3
9
|
"locale": "cmn-Hans",
|
4
10
|
"name": "Simplified Chinese",
|
@@ -11,6 +17,12 @@
|
|
11
17
|
"game-center": true,
|
12
18
|
"itc_locale": "zh-Hant"
|
13
19
|
},
|
20
|
+
{
|
21
|
+
"locale": "cs-CZ",
|
22
|
+
"name": "Czech",
|
23
|
+
"game-center": false,
|
24
|
+
"itc_locale": "cs"
|
25
|
+
},
|
14
26
|
{
|
15
27
|
"locale": "da-DK",
|
16
28
|
"name": "Danish",
|
@@ -107,6 +119,24 @@
|
|
107
119
|
],
|
108
120
|
"itc_locale": "el"
|
109
121
|
},
|
122
|
+
{
|
123
|
+
"locale": "hi-IN",
|
124
|
+
"name": "Hindi",
|
125
|
+
"game-center": false,
|
126
|
+
"itc_locale": "hi"
|
127
|
+
},
|
128
|
+
{
|
129
|
+
"locale": "hr-HR",
|
130
|
+
"name": "Croatian",
|
131
|
+
"game-center": false,
|
132
|
+
"itc_locale": "hr"
|
133
|
+
},
|
134
|
+
{
|
135
|
+
"locale": "hu-HU",
|
136
|
+
"name": "Hungarian",
|
137
|
+
"game-center": false,
|
138
|
+
"itc_locale": "hu"
|
139
|
+
},
|
110
140
|
{
|
111
141
|
"locale": "id-ID",
|
112
142
|
"name": "Indonesian",
|
@@ -161,6 +191,12 @@
|
|
161
191
|
],
|
162
192
|
"itc_locale": "no"
|
163
193
|
},
|
194
|
+
{
|
195
|
+
"locale": "pl-PL",
|
196
|
+
"name": "Polish",
|
197
|
+
"game-center": false,
|
198
|
+
"itc_locale": "pl"
|
199
|
+
},
|
164
200
|
{
|
165
201
|
"locale": "pt-BR",
|
166
202
|
"name": "Brazilian Portuguese",
|
@@ -174,6 +210,12 @@
|
|
174
210
|
"pt"
|
175
211
|
]
|
176
212
|
},
|
213
|
+
{
|
214
|
+
"locale": "ro-RO",
|
215
|
+
"name": "Romanian",
|
216
|
+
"game-center": false,
|
217
|
+
"itc_locale": "ro"
|
218
|
+
},
|
177
219
|
{
|
178
220
|
"locale": "ru-RU",
|
179
221
|
"name": "Russian",
|
@@ -201,6 +243,12 @@
|
|
201
243
|
"es"
|
202
244
|
]
|
203
245
|
},
|
246
|
+
{
|
247
|
+
"locale": "sk-SK",
|
248
|
+
"name": "Slovak",
|
249
|
+
"game-center": false,
|
250
|
+
"itc_locale": "sk"
|
251
|
+
},
|
204
252
|
{
|
205
253
|
"locale": "sv-SE",
|
206
254
|
"name": "Swedish",
|
@@ -228,6 +276,12 @@
|
|
228
276
|
],
|
229
277
|
"itc_locale": "tr"
|
230
278
|
},
|
279
|
+
{
|
280
|
+
"locale": "uk-UA",
|
281
|
+
"name": "Ukrainian",
|
282
|
+
"game-center": false,
|
283
|
+
"itc_locale": "uk"
|
284
|
+
},
|
231
285
|
{
|
232
286
|
"locale": "vi-VI",
|
233
287
|
"name": "Vietnamese",
|
Binary file
|
@@ -67,7 +67,11 @@ module Spaceship
|
|
67
67
|
return team['teamId'] if team['teamId'].strip == team_id
|
68
68
|
return team['teamId'] if team['currentTeamMember']['teamMemberId'].to_s.strip == team_id
|
69
69
|
end
|
70
|
-
|
70
|
+
# Better message to inform user of misconfiguration as Apple now provides less friendly error as of 2019-02-12
|
71
|
+
# This is especially important as Developer Portal team IDs are deprecated and should be replaced with App Store Connect teamIDs
|
72
|
+
# "Access Unavailable - You currently don't have access to this membership resource. Contact your team's Account Holder, Josh Holtz, or an Admin."
|
73
|
+
# https://github.com/fastlane/fastlane/issues/14228
|
74
|
+
puts("Couldn't find team with ID '#{team_id}'. Make sure your are using the correct App Store Connect team ID and have the proper permissions for this team")
|
71
75
|
end
|
72
76
|
|
73
77
|
if team_name.length > 0
|
@@ -75,7 +79,10 @@ module Spaceship
|
|
75
79
|
teams.each_with_index do |team, i|
|
76
80
|
return team['teamId'] if team['name'].strip == team_name
|
77
81
|
end
|
78
|
-
|
82
|
+
# Better message to inform user of misconfiguration as Apple now provides less friendly error as of 2019-02-12
|
83
|
+
# "Access Unavailable - You currently don't have access to this membership resource. Contact your team's Account Holder, Josh Holtz, or an Admin."
|
84
|
+
# https://github.com/fastlane/fastlane/issues/14228
|
85
|
+
puts("Couldn't find team with Name '#{team_name}. Make sure you have the proper permissions for this team'")
|
79
86
|
end
|
80
87
|
|
81
88
|
return teams[0]['teamId'] if teams.count == 1 # user is just in one team
|
@@ -1193,6 +1193,12 @@ module Spaceship
|
|
1193
1193
|
parse_response(r, 'data')
|
1194
1194
|
end
|
1195
1195
|
|
1196
|
+
# Submit the In-App-Purchase for review
|
1197
|
+
def submit_iap!(app_id: nil, purchase_id: nil)
|
1198
|
+
r = request(:post, "ra/apps/#{app_id}/iaps/#{purchase_id}/submission")
|
1199
|
+
handle_itc_response(r)
|
1200
|
+
end
|
1201
|
+
|
1196
1202
|
# Loads the full In-App-Purchases-Family
|
1197
1203
|
def load_iap_family(app_id: nil, family_id: nil)
|
1198
1204
|
r = request(:get, "ra/apps/#{app_id}/iaps/family/#{family_id}")
|
data/supply/lib/supply/client.rb
CHANGED
@@ -13,13 +13,24 @@ module Supply
|
|
13
13
|
attr_accessor :client
|
14
14
|
|
15
15
|
def self.make_from_config(params: nil)
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
params ||= Supply.config
|
17
|
+
service_account_data = self.service_account_authentication(params: params)
|
18
|
+
return self.new(service_account_json: service_account_data, params: params)
|
19
|
+
end
|
20
20
|
|
21
|
-
|
22
|
-
|
21
|
+
# Supply authentication file
|
22
|
+
def self.service_account_authentication(params: nil)
|
23
|
+
unless params[:json_key] || params[:json_key_data]
|
24
|
+
if UI.interactive?
|
25
|
+
UI.important("To not be asked about this value, you can specify it using 'json_key'")
|
26
|
+
json_key_path = UI.input("The service account json file used to authenticate with Google: ")
|
27
|
+
json_key_path = File.expand_path(json_key_path)
|
28
|
+
|
29
|
+
UI.user_error!("Could not find service account json file at path '#{json_key_path}'") unless File.exist?(json_key_path)
|
30
|
+
params[:json_key] = json_key_path
|
31
|
+
else
|
32
|
+
UI.user_error!("Could not load Google authentication. Make sure it has been added as an environment variable in 'json_key' or 'json_key_data'")
|
33
|
+
end
|
23
34
|
end
|
24
35
|
|
25
36
|
if params[:json_key]
|
@@ -28,7 +39,7 @@ module Supply
|
|
28
39
|
service_account_json = StringIO.new(params[:json_key_data])
|
29
40
|
end
|
30
41
|
|
31
|
-
|
42
|
+
service_account_json
|
32
43
|
end
|
33
44
|
|
34
45
|
# Initializes the service and its auth_client using the specified information
|
@@ -86,40 +97,22 @@ module Supply
|
|
86
97
|
# @!group Login
|
87
98
|
#####################################################
|
88
99
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
end
|
94
|
-
|
95
|
-
# first consider deprecated params
|
96
|
-
unless params[:json_key] || params[:json_key_data] || (params[:key] && params[:issuer])
|
97
|
-
UI.important("To not be asked about this value, you can specify it using 'json_key'")
|
98
|
-
params[:json_key] = UI.input("The service account json file used to authenticate with Google: ")
|
99
|
-
end
|
100
|
-
|
101
|
-
super(params: params)
|
102
|
-
end
|
103
|
-
|
104
|
-
# Initializes the client and its auth_client using the specified information
|
105
|
-
# @param service_account_json: The raw service account Json data
|
106
|
-
# @param path_to_key: The path to your p12 file (@deprecated)
|
107
|
-
# @param issuer: Email address for oauth (@deprecated)
|
108
|
-
def initialize(path_to_key: nil, issuer: nil, service_account_json: nil, params: nil)
|
109
|
-
if service_account_json
|
110
|
-
key_io = service_account_json
|
111
|
-
else
|
112
|
-
# deprecated
|
100
|
+
def self.service_account_authentication(params: nil)
|
101
|
+
if params[:json_key] || params[:json_key_data]
|
102
|
+
super(params: params)
|
103
|
+
elsif params[:key] && params[:issuer]
|
113
104
|
require 'google/api_client/auth/key_utils'
|
114
|
-
|
105
|
+
UI.important("This type of authentication is deprecated. Please consider using JSON authentication instead")
|
106
|
+
key = Google::APIClient::KeyUtils.load_from_pkcs12(File.expand_path(params[:key]), 'notasecret')
|
115
107
|
cred_json = {
|
116
108
|
private_key: key.to_s,
|
117
|
-
client_email: issuer
|
109
|
+
client_email: params[:issuer]
|
118
110
|
}
|
119
|
-
|
111
|
+
service_account_json = StringIO.new(MultiJson.dump(cred_json))
|
112
|
+
service_account_json
|
113
|
+
else
|
114
|
+
UI.user_error!("No authentication parameters were specified. These must be provided in order to authenticate with Google")
|
120
115
|
end
|
121
|
-
|
122
|
-
super(service_account_json: key_io, params: params)
|
123
116
|
end
|
124
117
|
|
125
118
|
#####################################################
|
metadata
CHANGED
@@ -1,33 +1,33 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.116.
|
4
|
+
version: 2.116.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
-
|
9
|
-
-
|
7
|
+
- Jérôme Lacoste
|
8
|
+
- Stefan Natchev
|
9
|
+
- Kohki Miki
|
10
10
|
- Aaron Brager
|
11
|
-
-
|
12
|
-
-
|
13
|
-
-
|
14
|
-
- Josh Holtz
|
11
|
+
- Felix Krause
|
12
|
+
- Andrew McBurney
|
13
|
+
- Jimmy Dee
|
15
14
|
- Jan Piotrowski
|
16
|
-
-
|
17
|
-
-
|
18
|
-
-
|
15
|
+
- Matthew Ellis
|
16
|
+
- Joshua Liebowitz
|
17
|
+
- Josh Holtz
|
19
18
|
- Maksym Grebenets
|
19
|
+
- Luka Mirosevic
|
20
|
+
- Fumiya Nakamura
|
20
21
|
- Manu Wallner
|
22
|
+
- Iulian Onofrei
|
23
|
+
- Olivier Halligon
|
24
|
+
- Helmut Januschka
|
25
|
+
- Jorge Revuelta H
|
21
26
|
- Danielle Tomlinson
|
22
|
-
- Andrew McBurney
|
23
|
-
- Felix Krause
|
24
|
-
- Jérôme Lacoste
|
25
|
-
- Joshua Liebowitz
|
26
|
-
- Fumiya Nakamura
|
27
27
|
autorequire:
|
28
28
|
bindir: bin
|
29
29
|
cert_chain: []
|
30
|
-
date: 2019-02-
|
30
|
+
date: 2019-02-20 00:00:00.000000000 Z
|
31
31
|
dependencies:
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
33
|
name: slack-notifier
|
@@ -966,6 +966,7 @@ files:
|
|
966
966
|
- fastlane/lib/fastlane.rb
|
967
967
|
- fastlane/lib/fastlane/action.rb
|
968
968
|
- fastlane/lib/fastlane/action_collector.rb
|
969
|
+
- fastlane/lib/fastlane/actions/.slack.rb.swp
|
969
970
|
- fastlane/lib/fastlane/actions/README.md
|
970
971
|
- fastlane/lib/fastlane/actions/actions_helper.rb
|
971
972
|
- fastlane/lib/fastlane/actions/adb.rb
|
@@ -1602,6 +1603,7 @@ files:
|
|
1602
1603
|
- spaceship/lib/spaceship/portal/provisioning_profile.rb
|
1603
1604
|
- spaceship/lib/spaceship/portal/provisioning_profile_template.rb
|
1604
1605
|
- spaceship/lib/spaceship/portal/spaceship.rb
|
1606
|
+
- spaceship/lib/spaceship/portal/ui/.select_team.rb.swp
|
1605
1607
|
- spaceship/lib/spaceship/portal/ui/select_team.rb
|
1606
1608
|
- spaceship/lib/spaceship/portal/website_push.rb
|
1607
1609
|
- spaceship/lib/spaceship/provider.rb
|