fastlane 2.69.0.beta.20171208010004 → 2.69.0.beta.20171209010003
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbfa8d3d26ee4860fef743149e93dc768eef5061
|
4
|
+
data.tar.gz: ba67896158ebdc6f33944aaea9fe5c3c683f44d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be8e9616aa60ec5b6cdaa5db729b3b4ccd217224e16f6d8a9f7b5e11f1314e65b8e490e5aa88e442cd00572113742b2a469238978a9cf12ba83322fd18f5d908
|
7
|
+
data.tar.gz: 56b8ccaad3121ae3c778dbcceb569db50cccb0456030de4039873f63c5d8d55773aa976b9bb7801896b8e883a1d54043d1a322c95c35fc9e368105ab17b5d07a
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'fastlane/actions/actions_helper'
|
2
|
+
require 'forwardable'
|
2
3
|
|
3
4
|
module Fastlane
|
4
5
|
class Action
|
@@ -20,6 +21,11 @@ module Fastlane
|
|
20
21
|
|
21
22
|
class << self
|
22
23
|
attr_accessor :runner
|
24
|
+
|
25
|
+
extend Forwardable
|
26
|
+
|
27
|
+
# to allow a simple `sh` in the custom actions
|
28
|
+
def_delegator Actions, :sh_control_output, :sh
|
23
29
|
end
|
24
30
|
|
25
31
|
def self.run(params)
|
@@ -93,11 +99,6 @@ module Fastlane
|
|
93
99
|
self.action_name
|
94
100
|
end
|
95
101
|
|
96
|
-
# to allow a simple `sh` in the custom actions
|
97
|
-
def self.sh(*command, print_command: true, print_command_output: true, error_callback: nil)
|
98
|
-
Fastlane::Actions.sh_control_output(*command, print_command: print_command, print_command_output: print_command_output, error_callback: error_callback)
|
99
|
-
end
|
100
|
-
|
101
102
|
# Documentation category, available values defined in AVAILABLE_CATEGORIES
|
102
103
|
def self.category
|
103
104
|
:undefined
|
@@ -160,7 +160,7 @@ module Fastlane
|
|
160
160
|
FastlaneCore::ConfigItem.new(key: :platform,
|
161
161
|
short_option: "-p",
|
162
162
|
env_name: "DOWNLOAD_DSYMS_PLATFORM",
|
163
|
-
description: "The app platform for dSYMs you wish to download",
|
163
|
+
description: "The app platform for dSYMs you wish to download (ios, appletvos)",
|
164
164
|
optional: true,
|
165
165
|
default_value: :ios),
|
166
166
|
FastlaneCore::ConfigItem.new(key: :version,
|
@@ -174,10 +174,10 @@ module Fastlane
|
|
174
174
|
end
|
175
175
|
|
176
176
|
# Execute shell command
|
177
|
-
def sh(*command, log: true, error_callback: nil)
|
177
|
+
def sh(*command, log: true, error_callback: nil, &b)
|
178
178
|
command_header = log ? Actions.shell_command_from_args(*command) : "shell command"
|
179
179
|
Actions.execute_action(command_header) do
|
180
|
-
Actions.sh_no_action(*command, log: log, error_callback: error_callback)
|
180
|
+
Actions.sh_no_action(*command, log: log, error_callback: error_callback, &b)
|
181
181
|
end
|
182
182
|
end
|
183
183
|
|
@@ -8,18 +8,22 @@ module Fastlane
|
|
8
8
|
# When running this in tests, it will return the actual command instead of executing it
|
9
9
|
# @param log [Boolean] should fastlane print out the executed command
|
10
10
|
# @param error_callback [Block] a callback invoked with the command output if there is a non-zero exit status
|
11
|
-
def self.sh(*command, log: true, error_callback: nil)
|
12
|
-
sh_control_output(*command, print_command: log, print_command_output: log, error_callback: error_callback)
|
11
|
+
def self.sh(*command, log: true, error_callback: nil, &b)
|
12
|
+
sh_control_output(*command, print_command: log, print_command_output: log, error_callback: error_callback, &b)
|
13
13
|
end
|
14
14
|
|
15
|
-
def self.sh_no_action(*command, log: true, error_callback: nil)
|
16
|
-
sh_control_output(*command, print_command: log, print_command_output: log, error_callback: error_callback)
|
15
|
+
def self.sh_no_action(*command, log: true, error_callback: nil, &b)
|
16
|
+
sh_control_output(*command, print_command: log, print_command_output: log, error_callback: error_callback, &b)
|
17
17
|
end
|
18
18
|
|
19
19
|
# @param command The command to be executed (variadic)
|
20
20
|
# @param print_command [Boolean] Should we print the command that's being executed
|
21
21
|
# @param print_command_output [Boolean] Should we print the command output during execution
|
22
22
|
# @param error_callback [Block] A block that's called if the command exits with a non-zero status
|
23
|
+
# @yield [status, result, cmd] The return status of the command, all output from the command and an equivalent shell command
|
24
|
+
# @yieldparam [Process::Status] status A Process::Status indicating the status of the completed command
|
25
|
+
# @yieldparam [String] result The complete output to stdout and stderr of the completed command
|
26
|
+
# @yieldparam [String] cmd A shell command equivalent to the arguments passed
|
23
27
|
def self.sh_control_output(*command, print_command: true, print_command_output: true, error_callback: nil)
|
24
28
|
print_command = print_command_output = true if $troubleshoot
|
25
29
|
# Set the encoding first, the user might have set it wrong
|
@@ -31,8 +35,8 @@ module Fastlane
|
|
31
35
|
UI.command(shell_command) if print_command
|
32
36
|
|
33
37
|
result = ''
|
38
|
+
exit_status = nil
|
34
39
|
if Helper.sh_enabled?
|
35
|
-
exit_status = nil
|
36
40
|
|
37
41
|
# The argument list is passed directly to Open3.popen2e, which
|
38
42
|
# handles the variadic argument list in the same way as Kernel#spawn.
|
@@ -48,20 +52,25 @@ module Fastlane
|
|
48
52
|
UI.command_output(line.strip) if print_command_output
|
49
53
|
result << line
|
50
54
|
end
|
51
|
-
exit_status = thread.value
|
55
|
+
exit_status = thread.value
|
52
56
|
end
|
53
57
|
|
54
|
-
|
58
|
+
# Checking Process::Status#exitstatus instead of #success? makes for more
|
59
|
+
# testable code. (Tests mock exitstatus only.) This is also consistent
|
60
|
+
# with previous implementations of sh and... probably portable to all
|
61
|
+
# relevant platforms.
|
62
|
+
if exit_status.exitstatus != 0
|
55
63
|
message = if print_command
|
56
|
-
"Exit status of command '#{shell_command}' was #{exit_status} instead of 0."
|
64
|
+
"Exit status of command '#{shell_command}' was #{exit_status.exitstatus} instead of 0."
|
57
65
|
else
|
58
|
-
"Shell command exited with exit status #{exit_status} instead of 0."
|
66
|
+
"Shell command exited with exit status #{exit_status.exitstatus} instead of 0."
|
59
67
|
end
|
60
68
|
message += "\n#{result}" if print_command_output
|
61
69
|
|
62
|
-
if error_callback
|
70
|
+
if error_callback || block_given?
|
63
71
|
UI.error(message)
|
64
|
-
|
72
|
+
# block notified below, on success or failure
|
73
|
+
error_callback && error_callback.call(result)
|
65
74
|
else
|
66
75
|
UI.shell_error!(message)
|
67
76
|
end
|
@@ -70,6 +79,12 @@ module Fastlane
|
|
70
79
|
result << shell_command # only for the tests
|
71
80
|
end
|
72
81
|
|
82
|
+
if block_given?
|
83
|
+
# Avoid yielding nil in tests. $? will be meaningless, but calls to
|
84
|
+
# it will not crash. There is no Process::Status.new. The alternative
|
85
|
+
# is to move this inside the sh_enabled? check and not yield in tests.
|
86
|
+
return yield exit_status || $?, result, shell_command
|
87
|
+
end
|
73
88
|
result
|
74
89
|
rescue => ex
|
75
90
|
raise ex
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Fastlane
|
2
|
-
VERSION = '2.69.0.beta.
|
2
|
+
VERSION = '2.69.0.beta.20171209010003'.freeze
|
3
3
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
4
4
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
5
5
|
RUBOCOP_REQUIREMENT = '0.49.1'.freeze
|
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.69.0.beta.
|
4
|
+
version: 2.69.0.beta.20171209010003
|
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-12-
|
18
|
+
date: 2017-12-09 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: slack-notifier
|