fastlane 2.54.4 → 2.55.0.beta.20170823010002
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/deliver/loader.rb +4 -7
- data/deliver/lib/deliver/options.rb +1 -6
- data/deliver/lib/deliver/upload_metadata.rb +3 -6
- data/deliver/lib/deliver/upload_screenshots.rb +3 -5
- data/fastlane/lib/fastlane/actions/badge.rb +1 -4
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +12 -33
- data/fastlane/lib/fastlane/actions/oclint.rb +0 -1
- data/fastlane/lib/fastlane/actions/slather.rb +1 -7
- data/fastlane/lib/fastlane/actions/testfairy.rb +4 -9
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core/tool_collector.rb +6 -17
- data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +15 -32
- data/gym/README.md +2 -2
- data/snapshot/README.md +0 -4
- data/supply/lib/supply/client.rb +13 -13
- metadata +38 -54
- data/snapshot/lib/.DS_Store +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 99cdfdb7503377b51f475f311e246b7581996ffa
|
4
|
+
data.tar.gz: e0158183b77a5a49019ff1b3919d0837d39b11f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5eadbe2ff89d49b284a063cad4fa218244038463432133287ea02ef3975680031cfc80e7227f1de0cd12de33834d7ac7affe9f0e4e9446463bed55e90330a476
|
7
|
+
data.tar.gz: 7f27969d4ea4c69c490cb0f7f11caee33f4c08853d1424e3bf900f007eb72c572d6420902bf0c872c6f56a67284120184d134640afc79dc9fd1dee716ff01068
|
@@ -12,7 +12,7 @@ module Deliver
|
|
12
12
|
|
13
13
|
EXCEPTION_DIRECTORIES = UploadMetadata::ALL_META_SUB_DIRS.map(&:downcase).freeze
|
14
14
|
|
15
|
-
def self.language_folders(root
|
15
|
+
def self.language_folders(root)
|
16
16
|
folders = Dir.glob(File.join(root, '*'))
|
17
17
|
|
18
18
|
if Helper.is_test?
|
@@ -21,8 +21,7 @@ module Deliver
|
|
21
21
|
available_languages = Spaceship::Tunes.client.available_languages.sort
|
22
22
|
end
|
23
23
|
|
24
|
-
|
25
|
-
allowed_directory_names = allowed_directory_names_with_case.map(&:downcase).freeze
|
24
|
+
allowed_directory_names = (available_languages + SPECIAL_DIR_NAMES).map(&:downcase).freeze
|
26
25
|
|
27
26
|
selected_folders = folders.select do |path|
|
28
27
|
File.directory?(path) && allowed_directory_names.include?(File.basename(path).downcase)
|
@@ -34,11 +33,9 @@ module Deliver
|
|
34
33
|
File.directory?(path) && !allowed_directory_names.include?(normalized_path) && !EXCEPTION_DIRECTORIES.include?(normalized_path)
|
35
34
|
end.sort
|
36
35
|
|
37
|
-
|
36
|
+
unless rejected_folders.empty?
|
38
37
|
rejected_folders = rejected_folders.map { |path| File.basename(path) }
|
39
|
-
UI.user_error! "
|
40
|
-
"\nValid directory names are: #{allowed_directory_names_with_case}" \
|
41
|
-
"\n\nEnable 'ignore_language_directory_validation' to prevent this validation from happening"
|
38
|
+
UI.user_error! "Unsupport directory name(s) for screenshots/metadata: #{rejected_folders.join(', ')}\n\nValid directory names are: #{allowed_directory_names}"
|
42
39
|
end
|
43
40
|
|
44
41
|
selected_folders
|
@@ -315,12 +315,7 @@ module Deliver
|
|
315
315
|
FastlaneCore::ConfigItem.new(key: :languages,
|
316
316
|
description: "Metadata: List of languages to activate",
|
317
317
|
type: Array,
|
318
|
-
optional: true)
|
319
|
-
FastlaneCore::ConfigItem.new(key: :ignore_language_directory_validation,
|
320
|
-
env_name: "DELIVER_IGNORE_LANGUAGE_DIRECTORY_VALIDATION",
|
321
|
-
description: "Ignore errors when invalid languages are found in metadata and screeenshot directories",
|
322
|
-
default_value: false,
|
323
|
-
is_string: false)
|
318
|
+
optional: true)
|
324
319
|
]
|
325
320
|
end
|
326
321
|
end
|
@@ -158,8 +158,7 @@ module Deliver
|
|
158
158
|
end
|
159
159
|
|
160
160
|
# Check folder list (an empty folder signifies a language is required)
|
161
|
-
|
162
|
-
Loader.language_folders(options[:metadata_path], ignore_validation).each do |lang_folder|
|
161
|
+
Loader.language_folders(options[:metadata_path]).each do |lang_folder|
|
163
162
|
next unless File.directory?(lang_folder) # We don't want to read txt as they are non localised
|
164
163
|
language = File.basename(lang_folder)
|
165
164
|
enabled_languages << language unless enabled_languages.include?(language)
|
@@ -199,8 +198,7 @@ module Deliver
|
|
199
198
|
end
|
200
199
|
|
201
200
|
# Check folder list (an empty folder signifies a language is required)
|
202
|
-
|
203
|
-
Loader.language_folders(options[:metadata_path], ignore_validation).each do |lang_folder|
|
201
|
+
Loader.language_folders(options[:metadata_path]).each do |lang_folder|
|
204
202
|
next unless File.directory?(lang_folder) # We don't want to read txt as they are non localised
|
205
203
|
|
206
204
|
language = File.basename(lang_folder)
|
@@ -254,8 +252,7 @@ module Deliver
|
|
254
252
|
return if options[:skip_metadata]
|
255
253
|
|
256
254
|
# Load localised data
|
257
|
-
|
258
|
-
Loader.language_folders(options[:metadata_path], ignore_validation).each do |lang_folder|
|
255
|
+
Loader.language_folders(options[:metadata_path]).each do |lang_folder|
|
259
256
|
language = File.basename(lang_folder)
|
260
257
|
(LOCALISED_VERSION_VALUES + LOCALISED_APP_VALUES).each do |key|
|
261
258
|
path = File.join(lang_folder, "#{key}.txt")
|
@@ -62,18 +62,16 @@ module Deliver
|
|
62
62
|
# so we save per language. See issue #349
|
63
63
|
UI.message("Saving changes")
|
64
64
|
v.save!
|
65
|
-
# Refresh app version to start clean again. See issue #9859
|
66
|
-
v = app.edit_version
|
67
65
|
end
|
68
66
|
UI.success("Successfully uploaded screenshots to iTunes Connect")
|
69
67
|
end
|
70
68
|
|
71
69
|
def collect_screenshots(options)
|
72
70
|
return [] if options[:skip_screenshots]
|
73
|
-
return collect_screenshots_for_languages(options[:screenshots_path]
|
71
|
+
return collect_screenshots_for_languages(options[:screenshots_path])
|
74
72
|
end
|
75
73
|
|
76
|
-
def collect_screenshots_for_languages(path
|
74
|
+
def collect_screenshots_for_languages(path)
|
77
75
|
screenshots = []
|
78
76
|
extensions = '{png,jpg,jpeg}'
|
79
77
|
|
@@ -81,7 +79,7 @@ module Deliver
|
|
81
79
|
lang_hash[lang.downcase] = lang
|
82
80
|
end
|
83
81
|
|
84
|
-
Loader.language_folders(path
|
82
|
+
Loader.language_folders(path).each do |lng_folder|
|
85
83
|
language = File.basename(lng_folder)
|
86
84
|
|
87
85
|
# Check to see if we need to traverse multiple platforms or just a single platform
|
@@ -2,9 +2,6 @@ module Fastlane
|
|
2
2
|
module Actions
|
3
3
|
class BadgeAction < Action
|
4
4
|
def self.run(params)
|
5
|
-
UI.important('The badge action has been deprecated,')
|
6
|
-
UI.important('please checkout the badge plugin here:')
|
7
|
-
UI.important('https://github.com/HazAT/fastlane-plugin-badge')
|
8
5
|
Actions.verify_gem!('badge')
|
9
6
|
require 'badge'
|
10
7
|
options = {
|
@@ -55,7 +52,7 @@ module Fastlane
|
|
55
52
|
end
|
56
53
|
|
57
54
|
def self.category
|
58
|
-
:
|
55
|
+
:misc
|
59
56
|
end
|
60
57
|
|
61
58
|
def self.available_options
|
@@ -14,39 +14,26 @@ module Fastlane
|
|
14
14
|
Spaceship::Tunes.select_team
|
15
15
|
UI.message("Login successful")
|
16
16
|
|
17
|
-
# Get App
|
18
|
-
app = Spaceship::Application.find(params[:app_identifier])
|
19
|
-
unless app
|
20
|
-
UI.user_error!("Could not find app with bundle identifier '#{params[:app_identifier]}' on account #{params[:username]}")
|
21
|
-
end
|
22
|
-
|
23
|
-
# Process options
|
24
17
|
version = params[:version]
|
25
18
|
build_number = params[:build_number]
|
26
19
|
platform = params[:platform]
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
if version
|
31
|
-
|
32
|
-
latest_version = app.live_version(platform: platform) || app.edit_version(platform: platform)
|
33
|
-
version = latest_version.version
|
34
|
-
build_number = latest_version.build_version
|
20
|
+
|
21
|
+
message = []
|
22
|
+
message << "Looking for dSYM files for #{params[:app_identifier]}"
|
23
|
+
if version
|
24
|
+
message << "v#{version}"
|
35
25
|
end
|
36
26
|
|
37
|
-
|
38
|
-
|
39
|
-
output_directory += '/'
|
27
|
+
if build_number
|
28
|
+
message << "(#{build_number})"
|
40
29
|
end
|
41
30
|
|
42
|
-
# Write a nice message
|
43
|
-
message = []
|
44
|
-
message << "Looking for dSYM files for #{params[:app_identifier]}"
|
45
|
-
message << "v#{version}" if version
|
46
|
-
message << "(#{build_number})" if build_number
|
47
31
|
UI.message(message.join(" "))
|
32
|
+
app = Spaceship::Application.find(params[:app_identifier])
|
33
|
+
unless app
|
34
|
+
UI.user_error!("Could not find app with bundle identifier '#{params[:app_identifier]}' on account #{params[:username]}")
|
35
|
+
end
|
48
36
|
|
49
|
-
# Loop through all app versions and download their dSYM
|
50
37
|
app.all_build_train_numbers(platform: platform).each do |train_number|
|
51
38
|
if version && version != train_number
|
52
39
|
next
|
@@ -65,9 +52,6 @@ module Fastlane
|
|
65
52
|
if download_url
|
66
53
|
result = self.download download_url
|
67
54
|
file_name = "#{app.bundle_id}-#{train_number}-#{build.build_version}.dSYM.zip"
|
68
|
-
if output_directory
|
69
|
-
file_name = output_directory + file_name
|
70
|
-
end
|
71
55
|
File.write(file_name, result)
|
72
56
|
UI.success("🔑 Successfully downloaded dSYM file for #{train_number} - #{build.build_version} to '#{file_name}'")
|
73
57
|
|
@@ -157,17 +141,12 @@ module Fastlane
|
|
157
141
|
FastlaneCore::ConfigItem.new(key: :version,
|
158
142
|
short_option: "-v",
|
159
143
|
env_name: "DOWNLOAD_DSYMS_VERSION",
|
160
|
-
description: "The app version for dSYMs you wish to download
|
144
|
+
description: "The app version for dSYMs you wish to download",
|
161
145
|
optional: true),
|
162
146
|
FastlaneCore::ConfigItem.new(key: :build_number,
|
163
147
|
short_option: "-b",
|
164
148
|
env_name: "DOWNLOAD_DSYMS_BUILD_NUMBER",
|
165
149
|
description: "The app build_number for dSYMs you wish to download",
|
166
|
-
optional: true),
|
167
|
-
FastlaneCore::ConfigItem.new(key: :output_directory,
|
168
|
-
short_option: "-s",
|
169
|
-
env_name: "DOWNLOAD_DSYMS_OUTPUT_DIRECTORY",
|
170
|
-
description: "Where to save the download dSYMs, defaults to the current path",
|
171
150
|
optional: true)
|
172
151
|
]
|
173
152
|
end
|
@@ -34,7 +34,6 @@ module Fastlane
|
|
34
34
|
select_regex = ensure_regex_is_not_string!(select_regex)
|
35
35
|
|
36
36
|
exclude_regex = params[:exclude_regex]
|
37
|
-
exclude_regex = ensure_regex_is_not_string!(exclude_regex)
|
38
37
|
|
39
38
|
files = JSON.parse(File.read(compile_commands)).map do |compile_command|
|
40
39
|
file = compile_command['file']
|
@@ -5,10 +5,9 @@ module Fastlane
|
|
5
5
|
end
|
6
6
|
|
7
7
|
class SlatherAction < Action
|
8
|
-
# https://github.com/SlatherOrg/slather/blob/
|
8
|
+
# https://github.com/SlatherOrg/slather/blob/cbc5099cd25beb43fd978b7a3e5428f02230122d/lib/slather/command/coverage_command.rb#L24
|
9
9
|
ARGS_MAP = {
|
10
10
|
travis: '--travis',
|
11
|
-
travis_pro: '--travis-pro',
|
12
11
|
circleci: '--circleci',
|
13
12
|
jenkins: '--jenkins',
|
14
13
|
buildkite: '--buildkite',
|
@@ -164,11 +163,6 @@ Slather is available at https://github.com/SlatherOrg/slather
|
|
164
163
|
description: "Tell slather that it is running on TravisCI",
|
165
164
|
is_string: false,
|
166
165
|
optional: true),
|
167
|
-
FastlaneCore::ConfigItem.new(key: :travis_pro,
|
168
|
-
env_name: "FL_SLATHER_TRAVIS_PRO_ENABLED", # The name of the environment variable
|
169
|
-
description: "Tell slather that it is running on TravisCI Pro",
|
170
|
-
is_string: false,
|
171
|
-
optional: true),
|
172
166
|
FastlaneCore::ConfigItem.new(key: :circleci,
|
173
167
|
env_name: "FL_SLATHER_CIRCLECI_ENABLED",
|
174
168
|
description: "Tell slather that it is running on CircleCI",
|
@@ -9,10 +9,9 @@ module Fastlane
|
|
9
9
|
require 'faraday'
|
10
10
|
require 'faraday_middleware'
|
11
11
|
|
12
|
-
connection = Faraday.new(url: "https://
|
12
|
+
connection = Faraday.new(url: "https://app.testfairy.com") do |builder|
|
13
13
|
builder.request :multipart
|
14
14
|
builder.request :url_encoded
|
15
|
-
builder.request :retry, max: 3, interval: 5
|
16
15
|
builder.response :json, content_type: /\bjson$/
|
17
16
|
builder.use FaradayMiddleware::FollowRedirects
|
18
17
|
builder.adapter :net_http
|
@@ -25,13 +24,9 @@ module Fastlane
|
|
25
24
|
options[:symbols_file] = Faraday::UploadIO.new(symbols_file, 'application/octet-stream')
|
26
25
|
end
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
req.body = options
|
32
|
-
end
|
33
|
-
rescue Faraday::Error::TimeoutError
|
34
|
-
UI.crash!("Uploading build to TestFairy timed out ⏳")
|
27
|
+
connection.post do |req|
|
28
|
+
req.url("/api/upload/")
|
29
|
+
req.body = options
|
35
30
|
end
|
36
31
|
end
|
37
32
|
|
@@ -115,6 +115,7 @@ module FastlaneCore
|
|
115
115
|
analytics << event_for_completion(action, action_completion_status, action_version, timestamp_seconds)
|
116
116
|
analytics << event_for_count(action, count, action_version, timestamp_seconds)
|
117
117
|
end
|
118
|
+
|
118
119
|
{ analytics: analytics }.to_json
|
119
120
|
end
|
120
121
|
|
@@ -216,7 +217,7 @@ module FastlaneCore
|
|
216
217
|
def event_for_web_onboarding(fastfile_id, completion_status, timestamp_seconds)
|
217
218
|
{
|
218
219
|
event_source: {
|
219
|
-
oauth_app_name:
|
220
|
+
oauth_app_name: 'fastlane-enhancer',
|
220
221
|
product: 'fastlane_web_onboarding'
|
221
222
|
},
|
222
223
|
actor: {
|
@@ -230,10 +231,6 @@ module FastlaneCore
|
|
230
231
|
name: 'fastlane_completion_status',
|
231
232
|
detail: completion_status
|
232
233
|
},
|
233
|
-
secondary_target: {
|
234
|
-
name: 'executed',
|
235
|
-
detail: secondary_target_string('')
|
236
|
-
},
|
237
234
|
millis_since_epoch: timestamp_seconds * 1000,
|
238
235
|
version: 1
|
239
236
|
}
|
@@ -242,7 +239,7 @@ module FastlaneCore
|
|
242
239
|
def event_for_completion(action, completion_status, version, timestamp_seconds)
|
243
240
|
{
|
244
241
|
event_source: {
|
245
|
-
oauth_app_name:
|
242
|
+
oauth_app_name: 'fastlane-enhancer',
|
246
243
|
product: 'fastlane'
|
247
244
|
},
|
248
245
|
actor: {
|
@@ -258,7 +255,7 @@ module FastlaneCore
|
|
258
255
|
},
|
259
256
|
secondary_target: {
|
260
257
|
name: 'version',
|
261
|
-
detail:
|
258
|
+
detail: version
|
262
259
|
},
|
263
260
|
millis_since_epoch: timestamp_seconds * 1000,
|
264
261
|
version: 1
|
@@ -268,7 +265,7 @@ module FastlaneCore
|
|
268
265
|
def event_for_count(action, count, version, timestamp_seconds)
|
269
266
|
{
|
270
267
|
event_source: {
|
271
|
-
oauth_app_name:
|
268
|
+
oauth_app_name: 'fastlane-enhancer',
|
272
269
|
product: 'fastlane'
|
273
270
|
},
|
274
271
|
actor: {
|
@@ -284,19 +281,11 @@ module FastlaneCore
|
|
284
281
|
},
|
285
282
|
secondary_target: {
|
286
283
|
name: 'version',
|
287
|
-
detail:
|
284
|
+
detail: version
|
288
285
|
},
|
289
286
|
millis_since_epoch: timestamp_seconds * 1000,
|
290
287
|
version: 1
|
291
288
|
}
|
292
289
|
end
|
293
|
-
|
294
|
-
def oauth_app_name
|
295
|
-
return 'fastlane-enhancer'
|
296
|
-
end
|
297
|
-
|
298
|
-
def secondary_target_string(string)
|
299
|
-
return string
|
300
|
-
end
|
301
290
|
end
|
302
291
|
end
|
@@ -177,18 +177,6 @@ module FastlaneCore
|
|
177
177
|
return nil if FastlaneCore::Env.truthy?("FASTLANE_OPT_OUT_USAGE")
|
178
178
|
require 'credentials_manager'
|
179
179
|
|
180
|
-
app_identifier = app_id(args, gem_name)
|
181
|
-
|
182
|
-
if app_identifier
|
183
|
-
return Digest::SHA256.hexdigest("p#{app_identifier}fastlan3_SAlt") # hashed + salted the bundle identifier
|
184
|
-
end
|
185
|
-
|
186
|
-
return nil
|
187
|
-
rescue
|
188
|
-
return nil
|
189
|
-
end
|
190
|
-
|
191
|
-
def self.app_id(args, gem_name)
|
192
180
|
# check if this is an android project first because some of the same params exist for iOS and Android tools
|
193
181
|
app_identifier = android_app_identifier(args, gem_name)
|
194
182
|
@platform = nil # since have a state in-between runs
|
@@ -198,7 +186,14 @@ module FastlaneCore
|
|
198
186
|
app_identifier = ios_app_identifier(args)
|
199
187
|
@platform = :ios if app_identifier
|
200
188
|
end
|
201
|
-
|
189
|
+
|
190
|
+
if app_identifier
|
191
|
+
return Digest::SHA256.hexdigest("p#{app_identifier}fastlan3_SAlt") # hashed + salted the bundle identifier
|
192
|
+
end
|
193
|
+
|
194
|
+
return nil
|
195
|
+
rescue
|
196
|
+
return nil
|
202
197
|
end
|
203
198
|
|
204
199
|
def self.send_launch_analytic_events_for(gem_name)
|
@@ -225,7 +220,7 @@ module FastlaneCore
|
|
225
220
|
def self.event_for_p_hash(p_hash, tool, platform, timestamp_seconds)
|
226
221
|
{
|
227
222
|
event_source: {
|
228
|
-
oauth_app_name:
|
223
|
+
oauth_app_name: 'fastlane-refresher',
|
229
224
|
product: 'fastlane'
|
230
225
|
},
|
231
226
|
actor: {
|
@@ -241,7 +236,7 @@ module FastlaneCore
|
|
241
236
|
},
|
242
237
|
secondary_target: {
|
243
238
|
name: 'platform',
|
244
|
-
detail:
|
239
|
+
detail: platform || 'unknown'
|
245
240
|
},
|
246
241
|
millis_since_epoch: timestamp_seconds * 1000,
|
247
242
|
version: 1
|
@@ -251,7 +246,7 @@ module FastlaneCore
|
|
251
246
|
def self.event_for_launch(tool, ci, timestamp_seconds)
|
252
247
|
{
|
253
248
|
event_source: {
|
254
|
-
oauth_app_name:
|
249
|
+
oauth_app_name: 'fastlane-refresher',
|
255
250
|
product: 'fastlane'
|
256
251
|
},
|
257
252
|
actor: {
|
@@ -265,10 +260,6 @@ module FastlaneCore
|
|
265
260
|
name: 'ci',
|
266
261
|
detail: ci
|
267
262
|
},
|
268
|
-
secondary_target: {
|
269
|
-
name: 'launch',
|
270
|
-
detail: secondary_target_string('')
|
271
|
-
},
|
272
263
|
millis_since_epoch: timestamp_seconds * 1000,
|
273
264
|
version: 1
|
274
265
|
}
|
@@ -309,7 +300,7 @@ module FastlaneCore
|
|
309
300
|
def self.event_for_completion(tool, ci, duration, timestamp_seconds)
|
310
301
|
{
|
311
302
|
event_source: {
|
312
|
-
oauth_app_name:
|
303
|
+
oauth_app_name: 'fastlane-refresher',
|
313
304
|
product: 'fastlane'
|
314
305
|
},
|
315
306
|
actor: {
|
@@ -325,7 +316,7 @@ module FastlaneCore
|
|
325
316
|
},
|
326
317
|
secondary_target: {
|
327
318
|
name: 'ci',
|
328
|
-
detail:
|
319
|
+
detail: ci
|
329
320
|
},
|
330
321
|
millis_since_epoch: timestamp_seconds * 1000,
|
331
322
|
version: 1
|
@@ -335,7 +326,7 @@ module FastlaneCore
|
|
335
326
|
def self.event_for_install_method(tool, ci, install_method, timestamp_seconds)
|
336
327
|
{
|
337
328
|
event_source: {
|
338
|
-
oauth_app_name:
|
329
|
+
oauth_app_name: 'fastlane-refresher',
|
339
330
|
product: 'fastlane'
|
340
331
|
},
|
341
332
|
actor: {
|
@@ -351,21 +342,13 @@ module FastlaneCore
|
|
351
342
|
},
|
352
343
|
secondary_target: {
|
353
344
|
name: 'ci',
|
354
|
-
detail:
|
345
|
+
detail: ci
|
355
346
|
},
|
356
347
|
millis_since_epoch: timestamp_seconds * 1000,
|
357
348
|
version: 1
|
358
349
|
}
|
359
350
|
end
|
360
351
|
|
361
|
-
def self.secondary_target_string(string)
|
362
|
-
return string
|
363
|
-
end
|
364
|
-
|
365
|
-
def self.oauth_app_name
|
366
|
-
return 'fastlane-refresher'
|
367
|
-
end
|
368
|
-
|
369
352
|
def self.send_completion_events(tool, ci, install_method, duration, timestamp_seconds)
|
370
353
|
analytics = []
|
371
354
|
analytics << event_for_completion(tool, ci, duration, timestamp_seconds)
|
data/gym/README.md
CHANGED
@@ -181,8 +181,8 @@ Optional: If _gym_ can't automatically detect the provisioning profiles to use,
|
|
181
181
|
export_options(
|
182
182
|
method: "app-store",
|
183
183
|
provisioningProfiles: {
|
184
|
-
"com.example.bundleid"
|
185
|
-
"com.example.bundleid2"
|
184
|
+
"com.example.bundleid": "Provisioning Profile Name",
|
185
|
+
"com.example.bundleid2": "Provisioning Profile Name 2"
|
186
186
|
}
|
187
187
|
)
|
188
188
|
```
|
data/snapshot/README.md
CHANGED
@@ -174,10 +174,6 @@ fastlane snapshot
|
|
174
174
|
|
175
175
|
Your screenshots will be stored in the `./screenshots/` folder by default (or `./fastlane/screenshots` if you're using [fastlane](https://fastlane.tools))
|
176
176
|
|
177
|
-
New with Xcode 9, *snapshot* can run multiple simulators concurrently. This is the default behavior in order to take your screenshots as quickly as possible. This can be disabled to run each device, one at a time, by setting the `:concurrent_simulators` option to `false`.
|
178
|
-
|
179
|
-
**Note:** While running *snapshot* with Xcode 9, the simulators will not be visibly spawned. So, while you wont see the simulators running your tests, they will, in fact, be taking your screenshots.
|
180
|
-
|
181
177
|
If any error occurs while running the snapshot script on a device, that device will not have any screenshots, and _snapshot_ will continue with the next device or language. To stop the flow after the first error, run
|
182
178
|
|
183
179
|
```sh
|
data/supply/lib/supply/client.rb
CHANGED
@@ -130,7 +130,7 @@ module Supply
|
|
130
130
|
def listings
|
131
131
|
ensure_active_edit!
|
132
132
|
|
133
|
-
result = call_google_api { android_publisher.
|
133
|
+
result = call_google_api { android_publisher.list_edit_listings(current_package_name, current_edit.id) }
|
134
134
|
|
135
135
|
return result.listings.map do |row|
|
136
136
|
Listing.new(self, row.language, row)
|
@@ -142,7 +142,7 @@ module Supply
|
|
142
142
|
ensure_active_edit!
|
143
143
|
|
144
144
|
begin
|
145
|
-
result = android_publisher.
|
145
|
+
result = android_publisher.get_edit_listing(
|
146
146
|
current_package_name,
|
147
147
|
current_edit.id,
|
148
148
|
language
|
@@ -159,7 +159,7 @@ module Supply
|
|
159
159
|
def apks_version_codes
|
160
160
|
ensure_active_edit!
|
161
161
|
|
162
|
-
result = call_google_api { android_publisher.
|
162
|
+
result = call_google_api { android_publisher.list_edit_apks(current_package_name, current_edit.id) }
|
163
163
|
|
164
164
|
return result.apks.map(&:version_code)
|
165
165
|
end
|
@@ -169,7 +169,7 @@ module Supply
|
|
169
169
|
ensure_active_edit!
|
170
170
|
|
171
171
|
result = call_google_api do
|
172
|
-
android_publisher.
|
172
|
+
android_publisher.list_edit_apklistings(
|
173
173
|
current_package_name,
|
174
174
|
current_edit.id,
|
175
175
|
apk_version_code
|
@@ -198,7 +198,7 @@ module Supply
|
|
198
198
|
})
|
199
199
|
|
200
200
|
call_google_api do
|
201
|
-
android_publisher.
|
201
|
+
android_publisher.update_edit_listing(
|
202
202
|
current_package_name,
|
203
203
|
current_edit.id,
|
204
204
|
language,
|
@@ -211,7 +211,7 @@ module Supply
|
|
211
211
|
ensure_active_edit!
|
212
212
|
|
213
213
|
result_upload = call_google_api do
|
214
|
-
android_publisher.
|
214
|
+
android_publisher.upload_edit_apk(
|
215
215
|
current_package_name,
|
216
216
|
current_edit.id,
|
217
217
|
upload_source: path_to_apk
|
@@ -249,7 +249,7 @@ module Supply
|
|
249
249
|
})
|
250
250
|
|
251
251
|
call_google_api do
|
252
|
-
android_publisher.
|
252
|
+
android_publisher.update_edit_track(
|
253
253
|
current_package_name,
|
254
254
|
current_edit.id,
|
255
255
|
track,
|
@@ -263,7 +263,7 @@ module Supply
|
|
263
263
|
ensure_active_edit!
|
264
264
|
|
265
265
|
begin
|
266
|
-
result = android_publisher.
|
266
|
+
result = android_publisher.get_edit_track(
|
267
267
|
current_package_name,
|
268
268
|
current_edit.id,
|
269
269
|
track
|
@@ -284,7 +284,7 @@ module Supply
|
|
284
284
|
})
|
285
285
|
|
286
286
|
call_google_api do
|
287
|
-
android_publisher.
|
287
|
+
android_publisher.update_edit_apklisting(
|
288
288
|
current_package_name,
|
289
289
|
current_edit.id,
|
290
290
|
apk_listing.apk_version_code,
|
@@ -302,7 +302,7 @@ module Supply
|
|
302
302
|
ensure_active_edit!
|
303
303
|
|
304
304
|
result = call_google_api do
|
305
|
-
android_publisher.
|
305
|
+
android_publisher.list_edit_images(
|
306
306
|
current_package_name,
|
307
307
|
current_edit.id,
|
308
308
|
language,
|
@@ -318,7 +318,7 @@ module Supply
|
|
318
318
|
ensure_active_edit!
|
319
319
|
|
320
320
|
call_google_api do
|
321
|
-
android_publisher.
|
321
|
+
android_publisher.upload_edit_image(
|
322
322
|
current_package_name,
|
323
323
|
current_edit.id,
|
324
324
|
language,
|
@@ -333,7 +333,7 @@ module Supply
|
|
333
333
|
ensure_active_edit!
|
334
334
|
|
335
335
|
call_google_api do
|
336
|
-
android_publisher.
|
336
|
+
android_publisher.deleteall_edit_image(
|
337
337
|
current_package_name,
|
338
338
|
current_edit.id,
|
339
339
|
language,
|
@@ -346,7 +346,7 @@ module Supply
|
|
346
346
|
ensure_active_edit!
|
347
347
|
|
348
348
|
call_google_api do
|
349
|
-
android_publisher.
|
349
|
+
android_publisher.upload_edit_expansionfile(
|
350
350
|
current_package_name,
|
351
351
|
current_edit.id,
|
352
352
|
apk_version_code,
|
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.
|
4
|
+
version: 2.55.0.beta.20170823010002
|
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-08-
|
18
|
+
date: 2017-08-23 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: slack-notifier
|
@@ -205,20 +205,6 @@ dependencies:
|
|
205
205
|
- - "~>"
|
206
206
|
- !ruby/object:Gem::Version
|
207
207
|
version: 1.0.0
|
208
|
-
- !ruby/object:Gem::Dependency
|
209
|
-
name: public_suffix
|
210
|
-
requirement: !ruby/object:Gem::Requirement
|
211
|
-
requirements:
|
212
|
-
- - "~>"
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
version: 2.0.0
|
215
|
-
type: :runtime
|
216
|
-
prerelease: false
|
217
|
-
version_requirements: !ruby/object:Gem::Requirement
|
218
|
-
requirements:
|
219
|
-
- - "~>"
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: 2.0.0
|
222
208
|
- !ruby/object:Gem::Dependency
|
223
209
|
name: tty-screen
|
224
210
|
requirement: !ruby/object:Gem::Requirement
|
@@ -361,6 +347,26 @@ dependencies:
|
|
361
347
|
- - "<"
|
362
348
|
- !ruby/object:Gem::Version
|
363
349
|
version: 2.0.0
|
350
|
+
- !ruby/object:Gem::Dependency
|
351
|
+
name: google-api-client
|
352
|
+
requirement: !ruby/object:Gem::Requirement
|
353
|
+
requirements:
|
354
|
+
- - ">="
|
355
|
+
- !ruby/object:Gem::Version
|
356
|
+
version: 0.12.0
|
357
|
+
- - "<"
|
358
|
+
- !ruby/object:Gem::Version
|
359
|
+
version: 1.0.0
|
360
|
+
type: :runtime
|
361
|
+
prerelease: false
|
362
|
+
version_requirements: !ruby/object:Gem::Requirement
|
363
|
+
requirements:
|
364
|
+
- - ">="
|
365
|
+
- !ruby/object:Gem::Version
|
366
|
+
version: 0.12.0
|
367
|
+
- - "<"
|
368
|
+
- !ruby/object:Gem::Version
|
369
|
+
version: 1.0.0
|
364
370
|
- !ruby/object:Gem::Dependency
|
365
371
|
name: highline
|
366
372
|
requirement: !ruby/object:Gem::Requirement
|
@@ -553,26 +559,6 @@ dependencies:
|
|
553
559
|
- - "~>"
|
554
560
|
- !ruby/object:Gem::Version
|
555
561
|
version: '0.9'
|
556
|
-
- !ruby/object:Gem::Dependency
|
557
|
-
name: google-api-client
|
558
|
-
requirement: !ruby/object:Gem::Requirement
|
559
|
-
requirements:
|
560
|
-
- - ">="
|
561
|
-
- !ruby/object:Gem::Version
|
562
|
-
version: 0.13.1
|
563
|
-
- - "<"
|
564
|
-
- !ruby/object:Gem::Version
|
565
|
-
version: 0.14.0
|
566
|
-
type: :runtime
|
567
|
-
prerelease: false
|
568
|
-
version_requirements: !ruby/object:Gem::Requirement
|
569
|
-
requirements:
|
570
|
-
- - ">="
|
571
|
-
- !ruby/object:Gem::Version
|
572
|
-
version: 0.13.1
|
573
|
-
- - "<"
|
574
|
-
- !ruby/object:Gem::Version
|
575
|
-
version: 0.14.0
|
576
562
|
- !ruby/object:Gem::Dependency
|
577
563
|
name: rake
|
578
564
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1290,7 +1276,6 @@ files:
|
|
1290
1276
|
- sigh/lib/sigh/resign.rb
|
1291
1277
|
- sigh/lib/sigh/runner.rb
|
1292
1278
|
- snapshot/README.md
|
1293
|
-
- snapshot/lib/.DS_Store
|
1294
1279
|
- snapshot/lib/assets/SnapfileTemplate
|
1295
1280
|
- snapshot/lib/assets/SnapshotHelper.swift
|
1296
1281
|
- snapshot/lib/assets/SnapshotHelperXcode8.swift
|
@@ -1430,24 +1415,24 @@ metadata:
|
|
1430
1415
|
post_install_message:
|
1431
1416
|
rdoc_options: []
|
1432
1417
|
require_paths:
|
1433
|
-
-
|
1434
|
-
-
|
1435
|
-
-
|
1418
|
+
- spaceship/lib
|
1419
|
+
- scan/lib
|
1420
|
+
- sigh/lib
|
1421
|
+
- snapshot/lib
|
1422
|
+
- screengrab/lib
|
1436
1423
|
- fastlane/lib
|
1437
|
-
-
|
1438
|
-
-
|
1424
|
+
- cert/lib
|
1425
|
+
- pem/lib
|
1439
1426
|
- gym/lib
|
1427
|
+
- produce/lib
|
1428
|
+
- deliver/lib
|
1429
|
+
- supply/lib
|
1440
1430
|
- match/lib
|
1441
|
-
-
|
1431
|
+
- frameit/lib
|
1432
|
+
- credentials_manager/lib
|
1442
1433
|
- pilot/lib
|
1443
1434
|
- precheck/lib
|
1444
|
-
-
|
1445
|
-
- scan/lib
|
1446
|
-
- screengrab/lib
|
1447
|
-
- sigh/lib
|
1448
|
-
- snapshot/lib
|
1449
|
-
- spaceship/lib
|
1450
|
-
- supply/lib
|
1435
|
+
- fastlane_core/lib
|
1451
1436
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1452
1437
|
requirements:
|
1453
1438
|
- - ">="
|
@@ -1455,15 +1440,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1455
1440
|
version: 2.0.0
|
1456
1441
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1457
1442
|
requirements:
|
1458
|
-
- - "
|
1443
|
+
- - ">"
|
1459
1444
|
- !ruby/object:Gem::Version
|
1460
|
-
version:
|
1445
|
+
version: 1.3.1
|
1461
1446
|
requirements: []
|
1462
1447
|
rubyforge_project:
|
1463
|
-
rubygems_version: 2.
|
1448
|
+
rubygems_version: 2.4.5.1
|
1464
1449
|
signing_key:
|
1465
1450
|
specification_version: 4
|
1466
1451
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|
1467
1452
|
Android apps
|
1468
1453
|
test_files: []
|
1469
|
-
has_rdoc:
|
data/snapshot/lib/.DS_Store
DELETED
Binary file
|