fastlane 2.30.0.beta.20170510010041 → 2.30.0.beta.20170511010018
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/deliver/lib/assets/summary.html.erb +24 -7
- data/deliver/lib/deliver/options.rb +4 -0
- data/deliver/lib/deliver/setup.rb +11 -0
- data/deliver/lib/deliver/upload_metadata.rb +42 -0
- data/fastlane/lib/fastlane/documentation/actions_list.rb +22 -0
- data/fastlane/lib/fastlane/one_off.rb +1 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/spaceship/lib/spaceship/tunes/app_version.rb +58 -0
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f76caf3bad75d5177b285ac8624feb1846b0c1b
|
4
|
+
data.tar.gz: 08261f81ffc2c03739618c2715d78bfbfbcd38be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 620042f62d93632a9233fd88151a6dd3d3668a523a67a1d06437cfbcc1a8c1f292492daeab0a0b8409dd22c70f82438702ab17e90f7f5ec8ab78f4116642d003
|
7
|
+
data.tar.gz: 6650fb6d808951233134d7ed4eaa0708ce8cd8f4b37fc810cadcc1eb4601d5eeb661b036ffab00b26f2efb2156742e5e448b3bf75141729b9f6af17d77a67b85
|
@@ -118,13 +118,13 @@
|
|
118
118
|
margin-right: 20px;
|
119
119
|
}
|
120
120
|
|
121
|
-
.app-
|
121
|
+
.app-minor-information {
|
122
122
|
margin-left: 15px;
|
123
123
|
margin-right: 15px;
|
124
124
|
margin-top: 22px;
|
125
125
|
}
|
126
126
|
|
127
|
-
.app-
|
127
|
+
.app-minor-information-key {
|
128
128
|
font-weight: 700;
|
129
129
|
}
|
130
130
|
</style>
|
@@ -241,20 +241,37 @@
|
|
241
241
|
|
242
242
|
<hr />
|
243
243
|
<% end # end data %>
|
244
|
+
<% if @options[:trade_representative_contact_information] %>
|
245
|
+
<div class="app-minor-information">
|
246
|
+
<div class="cat-headline">Trade Representative Contact Information</div>
|
247
|
+
<dl class="app-minor-information">
|
248
|
+
<% @options[:trade_representative_contact_information].each do |key, value| %>
|
249
|
+
<dt class="app-minor-information-key">
|
250
|
+
<%= key.to_s.capitalize.gsub("_", " ") %>
|
251
|
+
</dt>
|
252
|
+
<dd class="app-minor-information-text">
|
253
|
+
<%= (value || '').gsub("\n", "<br />") %>
|
254
|
+
</dd>
|
255
|
+
<% end %>
|
256
|
+
</dl>
|
257
|
+
</div>
|
258
|
+
<hr />
|
259
|
+
<% end %>
|
260
|
+
|
244
261
|
<% if @options[:app_review_information] %>
|
245
|
-
<div class="app-
|
262
|
+
<div class="app-minor-information">
|
246
263
|
<div class="cat-headline">Review Information</div>
|
247
|
-
<dl class="app-
|
264
|
+
<dl class="app-minor-information">
|
248
265
|
<% @options[:app_review_information].each do |key, value| %>
|
249
|
-
<dt class="app-
|
266
|
+
<dt class="app-minor-information-key">
|
250
267
|
<%= key.to_s.capitalize.gsub("_", " ") %>
|
251
268
|
</dt>
|
252
|
-
<dd class="app-
|
269
|
+
<dd class="app-minor-information-text">
|
253
270
|
<%= (value || '').gsub("\n", "<br />") %>
|
254
271
|
</dd>
|
255
272
|
<% end %>
|
256
273
|
</dl>
|
257
274
|
</div>
|
258
|
-
|
275
|
+
<% end %>
|
259
276
|
</body>
|
260
277
|
</html>
|
@@ -228,6 +228,10 @@ module Deliver
|
|
228
228
|
description: "Metadata: The english name of the secondary second sub category(e.g. `Educational`, `Puzzle`)",
|
229
229
|
optional: true,
|
230
230
|
is_string: true),
|
231
|
+
FastlaneCore::ConfigItem.new(key: :trade_representative_contact_information,
|
232
|
+
description: "Metadata: A hash containing the trade representative contact information",
|
233
|
+
optional: true,
|
234
|
+
is_string: false),
|
231
235
|
FastlaneCore::ConfigItem.new(key: :app_review_information,
|
232
236
|
description: "Metadata: A hash containing the review information",
|
233
237
|
optional: true,
|
@@ -66,6 +66,17 @@ module Deliver
|
|
66
66
|
UI.message("Writing to '#{resulting_path}'")
|
67
67
|
end
|
68
68
|
|
69
|
+
# Trade Representative Contact Information
|
70
|
+
UploadMetadata::TRADE_REPRESENTATIVE_CONTACT_INFORMATION_VALUES.each do |key, option_name|
|
71
|
+
content = v.send(key).to_s
|
72
|
+
content << "\n"
|
73
|
+
base_dir = File.join(path, UploadMetadata::TRADE_REPRESENTATIVE_CONTACT_INFORMATION_DIR)
|
74
|
+
FileUtils.mkdir_p(base_dir)
|
75
|
+
resulting_path = File.join(base_dir, "#{option_name}.txt")
|
76
|
+
File.write(resulting_path, content)
|
77
|
+
UI.message("Writing to '#{resulting_path}'")
|
78
|
+
end
|
79
|
+
|
69
80
|
# Review information
|
70
81
|
UploadMetadata::REVIEW_INFORMATION_VALUES.each do |key, option_name|
|
71
82
|
content = v.send(key).to_s
|
@@ -15,6 +15,23 @@ module Deliver
|
|
15
15
|
:primary_first_sub_category, :primary_second_sub_category,
|
16
16
|
:secondary_first_sub_category, :secondary_second_sub_category]
|
17
17
|
|
18
|
+
# Trade Representative Contact Information values
|
19
|
+
TRADE_REPRESENTATIVE_CONTACT_INFORMATION_VALUES = {
|
20
|
+
trade_representative_trade_name: :trade_name,
|
21
|
+
trade_representative_first_name: :first_name,
|
22
|
+
trade_representative_last_name: :last_name,
|
23
|
+
trade_representative_address_line_1: :adderss_line1,
|
24
|
+
trade_representative_address_line_2: :adderss_line2,
|
25
|
+
trade_representative_address_line_3: :adderss_line3,
|
26
|
+
trade_representative_city_name: :city_name,
|
27
|
+
trade_representative_state: :state,
|
28
|
+
trade_representative_country: :country,
|
29
|
+
trade_representative_postal_code: :postal_code,
|
30
|
+
trade_representative_phone_number: :phone_number,
|
31
|
+
trade_representative_email: :email_address,
|
32
|
+
trade_representative_is_displayed_on_app_store: :is_displayed_on_app_store
|
33
|
+
}
|
34
|
+
|
18
35
|
# Review information values
|
19
36
|
REVIEW_INFORMATION_VALUES = {
|
20
37
|
review_first_name: :first_name,
|
@@ -32,6 +49,9 @@ module Deliver
|
|
32
49
|
# Non localized app details values, that are editable in live state
|
33
50
|
NON_LOCALISED_LIVE_VALUES = [:privacy_url]
|
34
51
|
|
52
|
+
# Directory name it contains trade representative contact information
|
53
|
+
TRADE_REPRESENTATIVE_CONTACT_INFORMATION_DIR = "trade_representative_contact_information"
|
54
|
+
|
35
55
|
# Directory name it contains review information
|
36
56
|
REVIEW_INFORMATION_DIR = "review_information"
|
37
57
|
|
@@ -92,6 +112,7 @@ module Deliver
|
|
92
112
|
|
93
113
|
v.release_on_approval = options[:automatic_release]
|
94
114
|
|
115
|
+
set_trade_representative_contact_information(v, options)
|
95
116
|
set_review_information(v, options)
|
96
117
|
set_app_rating(v, options)
|
97
118
|
|
@@ -198,6 +219,17 @@ module Deliver
|
|
198
219
|
options[key] ||= File.read(path)
|
199
220
|
end
|
200
221
|
|
222
|
+
# Load trade representative contact information
|
223
|
+
options[:trade_representative_contact_information] ||= {}
|
224
|
+
TRADE_REPRESENTATIVE_CONTACT_INFORMATION_VALUES.values.each do |option_name|
|
225
|
+
path = File.join(options[:metadata_path], TRADE_REPRESENTATIVE_CONTACT_INFORMATION_DIR, "#{option_name}.txt")
|
226
|
+
next unless File.exist?(path)
|
227
|
+
next if options[:trade_representative_contact_information][option_name].to_s.length > 0
|
228
|
+
|
229
|
+
UI.message("Loading '#{path}'...")
|
230
|
+
options[:trade_representative_contact_information][option_name] ||= File.read(path)
|
231
|
+
end
|
232
|
+
|
201
233
|
# Load review information
|
202
234
|
options[:app_review_information] ||= {}
|
203
235
|
REVIEW_INFORMATION_VALUES.values.each do |option_name|
|
@@ -212,6 +244,16 @@ module Deliver
|
|
212
244
|
|
213
245
|
private
|
214
246
|
|
247
|
+
def set_trade_representative_contact_information(v, options)
|
248
|
+
return unless options[:trade_representative_contact_information]
|
249
|
+
info = options[:trade_representative_contact_information]
|
250
|
+
UI.user_error!("`trade_representative_contact_information` must be a hash", show_github_issues: true) unless info.kind_of?(Hash)
|
251
|
+
|
252
|
+
TRADE_REPRESENTATIVE_CONTACT_INFORMATION_VALUES.each do |key, option_name|
|
253
|
+
v.send("#{key}=", info[option_name].chomp) if info[option_name].chomp
|
254
|
+
end
|
255
|
+
end
|
256
|
+
|
215
257
|
def set_review_information(v, options)
|
216
258
|
return unless options[:app_review_information]
|
217
259
|
info = options[:app_review_information]
|
@@ -73,7 +73,29 @@ module Fastlane
|
|
73
73
|
else
|
74
74
|
puts "Couldn't find action for the given filter.".red
|
75
75
|
puts "==========================================\n".red
|
76
|
+
|
76
77
|
print_all # show all available actions instead
|
78
|
+
print_suggestions(filter)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def self.print_suggestions(filter)
|
83
|
+
if !filter.nil? && filter.length > 1
|
84
|
+
action_names = []
|
85
|
+
all_actions(nil) do |action_ref, action_name|
|
86
|
+
action_names << action_name
|
87
|
+
end
|
88
|
+
|
89
|
+
corrections = []
|
90
|
+
|
91
|
+
if !Gem.loaded_specs["did_you_mean"].nil? && Gem.loaded_specs["did_you_mean"].version >= Gem::Version.new('1.1.0')
|
92
|
+
spell_checker = DidYouMean::SpellChecker.new(dictionary: action_names)
|
93
|
+
corrections << spell_checker.correct(filter).compact
|
94
|
+
end
|
95
|
+
|
96
|
+
corrections << action_names.select { |name| name.include? filter }
|
97
|
+
|
98
|
+
puts "Did you mean: #{corrections.flatten.uniq.join(', ')}?".green unless corrections.flatten.empty?
|
77
99
|
end
|
78
100
|
end
|
79
101
|
|
@@ -33,6 +33,7 @@ module Fastlane
|
|
33
33
|
UI.verbose(caller.join("\n"))
|
34
34
|
UI.user_error!("The action '#{action}' is no longer bundled with fastlane. You can install it using `fastlane add_plugin #{action}`")
|
35
35
|
else
|
36
|
+
Fastlane::ActionsList.print_suggestions(action)
|
36
37
|
UI.user_error!("Action '#{action}' not available, run `fastlane actions` to get a full list")
|
37
38
|
end
|
38
39
|
end
|
@@ -71,6 +71,48 @@ module Spaceship
|
|
71
71
|
# @return (Spaceship::Tunes::TransitAppFile) the structure containing information about the geo json. Can be nil
|
72
72
|
attr_accessor :transit_app_file
|
73
73
|
|
74
|
+
####
|
75
|
+
# Trade Representative Contact Information
|
76
|
+
####
|
77
|
+
# @return (String) Trade Representative Contact Information Trade Name. This attribute isn't editable
|
78
|
+
attr_accessor :trade_representative_trade_name
|
79
|
+
|
80
|
+
# @return (String) Trade Representative Contact Information First Name
|
81
|
+
attr_accessor :trade_representative_first_name
|
82
|
+
|
83
|
+
# @return (String) Trade Representative Contact Information Last Name
|
84
|
+
attr_accessor :trade_representative_last_name
|
85
|
+
|
86
|
+
# @return (String) Trade Representative Contact Information Address Line 1
|
87
|
+
attr_accessor :trade_representative_address_line_1
|
88
|
+
|
89
|
+
# @return (String) Trade Representative Contact Information Address Line 2
|
90
|
+
attr_accessor :trade_representative_address_line_2
|
91
|
+
|
92
|
+
# @return (String) Trade Representative Contact Information Address Line 3
|
93
|
+
attr_accessor :trade_representative_address_line_3
|
94
|
+
|
95
|
+
# @return (String) Trade Representative Contact Information City Name
|
96
|
+
attr_accessor :trade_representative_city_name
|
97
|
+
|
98
|
+
# @return (String) Trade Representative Contact Information State
|
99
|
+
attr_accessor :trade_representative_state
|
100
|
+
|
101
|
+
# @return (String) Trade Representative Contact Information Country
|
102
|
+
attr_accessor :trade_representative_country
|
103
|
+
|
104
|
+
# @return (String) Trade Representative Contact Information Postal Code
|
105
|
+
attr_accessor :trade_representative_postal_code
|
106
|
+
|
107
|
+
# @return (String) Trade Representative Contact Information Phone Number
|
108
|
+
attr_accessor :trade_representative_phone_number
|
109
|
+
|
110
|
+
# @return (String) Trade Representative Contact Information Email Address
|
111
|
+
attr_accessor :trade_representative_email
|
112
|
+
|
113
|
+
# @return (Boolean) Display Trade Representative Contact Information on the Korean App Store or not
|
114
|
+
attr_accessor :trade_representative_is_displayed_on_app_store
|
115
|
+
|
74
116
|
####
|
75
117
|
# App Review Information
|
76
118
|
####
|
@@ -150,6 +192,22 @@ module Spaceship
|
|
150
192
|
# GeoJson
|
151
193
|
# 'transitAppFile.value' => :transit_app_file
|
152
194
|
|
195
|
+
# Trade Representative Contact Information
|
196
|
+
|
197
|
+
'appStoreInfo.tradeName.value' => :trade_representative_trade_name,
|
198
|
+
'appStoreInfo.firstName.value' => :trade_representative_first_name,
|
199
|
+
'appStoreInfo.lastName.value' => :trade_representative_last_name,
|
200
|
+
'appStoreInfo.addressLine1.value' => :trade_representative_address_line_1,
|
201
|
+
'appStoreInfo.addressLine2.value' => :trade_representative_address_line_2,
|
202
|
+
'appStoreInfo.addressLine3.value' => :trade_representative_address_line_3,
|
203
|
+
'appStoreInfo.cityName.value' => :trade_representative_city_name,
|
204
|
+
'appStoreInfo.state.value' => :trade_representative_state,
|
205
|
+
'appStoreInfo.country.value' => :trade_representative_country,
|
206
|
+
'appStoreInfo.postalCode.value' => :trade_representative_postal_code,
|
207
|
+
'appStoreInfo.phoneNumber.value' => :trade_representative_phone_number,
|
208
|
+
'appStoreInfo.emailAddress.value' => :trade_representative_email,
|
209
|
+
'appStoreInfo.shouldDisplayInStore.value' => :trade_representative_is_displayed_on_app_store,
|
210
|
+
|
153
211
|
# App Review Information
|
154
212
|
'appReviewInfo.firstName.value' => :review_first_name,
|
155
213
|
'appReviewInfo.lastName.value' => :review_last_name,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.30.0.beta.
|
4
|
+
version: 2.30.0.beta.20170511010018
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -15,7 +15,7 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date: 2017-05-
|
18
|
+
date: 2017-05-11 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: slack-notifier
|
@@ -1357,23 +1357,23 @@ metadata:
|
|
1357
1357
|
post_install_message:
|
1358
1358
|
rdoc_options: []
|
1359
1359
|
require_paths:
|
1360
|
-
-
|
1361
|
-
-
|
1360
|
+
- pem/lib
|
1361
|
+
- produce/lib
|
1362
|
+
- gym/lib
|
1363
|
+
- snapshot/lib
|
1362
1364
|
- sigh/lib
|
1365
|
+
- pilot/lib
|
1363
1366
|
- supply/lib
|
1364
|
-
- snapshot/lib
|
1365
|
-
- frameit/lib
|
1366
1367
|
- cert/lib
|
1368
|
+
- deliver/lib
|
1367
1369
|
- match/lib
|
1370
|
+
- fastlane_core/lib
|
1368
1371
|
- spaceship/lib
|
1369
|
-
-
|
1370
|
-
-
|
1372
|
+
- fastlane/lib
|
1373
|
+
- frameit/lib
|
1371
1374
|
- screengrab/lib
|
1372
|
-
-
|
1373
|
-
- gym/lib
|
1374
|
-
- deliver/lib
|
1375
|
+
- credentials_manager/lib
|
1375
1376
|
- scan/lib
|
1376
|
-
- fastlane/lib
|
1377
1377
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1378
1378
|
requirements:
|
1379
1379
|
- - ">="
|