fastlane 2.55.0.beta.20170829010003 → 2.55.0.beta.20170830010003
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7418a46d43fe7728100cd8867127a0d3d73cc3c1
|
4
|
+
data.tar.gz: 6a5643f759caed01beb40bdf75ef35790f3fd036
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 407db1e222089d41b5a745c323166552efed6880ce1651443ca94a1845aaf0d6e2951cad7304997bf15c04a07ad280ec0b5c8142b384f046f2945cd9101b24cc
|
7
|
+
data.tar.gz: 1bf125c2c2337c149938cacff05c723d2e2e86a646c0e8ce614bb05ce8120e8c20c757dbcee20f38c59c495d588c624e22655e7d7710d53ea8a17eb89eccb143
|
@@ -70,10 +70,10 @@ module Deliver
|
|
70
70
|
|
71
71
|
def collect_screenshots(options)
|
72
72
|
return [] if options[:skip_screenshots]
|
73
|
-
return collect_screenshots_for_languages(options[:screenshots_path])
|
73
|
+
return collect_screenshots_for_languages(options[:screenshots_path], options[:ignore_language_directory_validation])
|
74
74
|
end
|
75
75
|
|
76
|
-
def collect_screenshots_for_languages(path)
|
76
|
+
def collect_screenshots_for_languages(path, ignore_validation)
|
77
77
|
screenshots = []
|
78
78
|
extensions = '{png,jpg,jpeg}'
|
79
79
|
|
@@ -81,7 +81,6 @@ module Deliver
|
|
81
81
|
lang_hash[lang.downcase] = lang
|
82
82
|
end
|
83
83
|
|
84
|
-
ignore_validation = options[:ignore_language_directory_validation]
|
85
84
|
Loader.language_folders(path, ignore_validation).each do |lng_folder|
|
86
85
|
language = File.basename(lng_folder)
|
87
86
|
|
@@ -14,26 +14,39 @@ 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
|
17
24
|
version = params[:version]
|
18
25
|
build_number = params[:build_number]
|
19
26
|
platform = params[:platform]
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
if version
|
24
|
-
|
27
|
+
output_directory = params[:output_directory]
|
28
|
+
|
29
|
+
# Set version if it is latest
|
30
|
+
if version == 'latest'
|
31
|
+
# Try to grab the live version first, else fallback to edit version
|
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
|
25
35
|
end
|
26
36
|
|
27
|
-
|
28
|
-
|
37
|
+
# Make sure output_directory has a slash on the end
|
38
|
+
if output_directory && !output_directory.end_with?('/')
|
39
|
+
output_directory += '/'
|
29
40
|
end
|
30
41
|
|
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
|
31
47
|
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
|
36
48
|
|
49
|
+
# Loop through all app versions and download their dSYM
|
37
50
|
app.all_build_train_numbers(platform: platform).each do |train_number|
|
38
51
|
if version && version != train_number
|
39
52
|
next
|
@@ -52,6 +65,9 @@ module Fastlane
|
|
52
65
|
if download_url
|
53
66
|
result = self.download download_url
|
54
67
|
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
|
55
71
|
File.write(file_name, result)
|
56
72
|
UI.success("🔑 Successfully downloaded dSYM file for #{train_number} - #{build.build_version} to '#{file_name}'")
|
57
73
|
|
@@ -141,12 +157,17 @@ module Fastlane
|
|
141
157
|
FastlaneCore::ConfigItem.new(key: :version,
|
142
158
|
short_option: "-v",
|
143
159
|
env_name: "DOWNLOAD_DSYMS_VERSION",
|
144
|
-
description: "The app version for dSYMs you wish to download",
|
160
|
+
description: "The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs",
|
145
161
|
optional: true),
|
146
162
|
FastlaneCore::ConfigItem.new(key: :build_number,
|
147
163
|
short_option: "-b",
|
148
164
|
env_name: "DOWNLOAD_DSYMS_BUILD_NUMBER",
|
149
165
|
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",
|
150
171
|
optional: true)
|
151
172
|
]
|
152
173
|
end
|
@@ -9,9 +9,10 @@ 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://upload.testfairy.com") do |builder|
|
13
13
|
builder.request :multipart
|
14
14
|
builder.request :url_encoded
|
15
|
+
builder.request :retry, max: 3, interval: 5
|
15
16
|
builder.response :json, content_type: /\bjson$/
|
16
17
|
builder.use FaradayMiddleware::FollowRedirects
|
17
18
|
builder.adapter :net_http
|
@@ -24,9 +25,13 @@ module Fastlane
|
|
24
25
|
options[:symbols_file] = Faraday::UploadIO.new(symbols_file, 'application/octet-stream')
|
25
26
|
end
|
26
27
|
|
27
|
-
|
28
|
-
req
|
29
|
-
|
28
|
+
begin
|
29
|
+
connection.post do |req|
|
30
|
+
req.url("/api/upload/")
|
31
|
+
req.body = options
|
32
|
+
end
|
33
|
+
rescue Faraday::Error::TimeoutError
|
34
|
+
UI.crash!("Uploading build to TestFairy timed out ⏳")
|
30
35
|
end
|
31
36
|
end
|
32
37
|
|
data/snapshot/README.md
CHANGED
@@ -174,6 +174,10 @@ 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
|
+
|
177
181
|
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
|
178
182
|
|
179
183
|
```sh
|
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.55.0.beta.
|
4
|
+
version: 2.55.0.beta.20170830010003
|
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-30 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: slack-notifier
|