fastlane 2.14.2 → 2.15.0.beta.20170213032052
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cert/lib/cert/commands_generator.rb +1 -1
- data/cert/lib/cert/runner.rb +1 -1
- data/credentials_manager/lib/credentials_manager/appfile_config.rb +1 -1
- data/deliver/lib/deliver/commands_generator.rb +1 -1
- data/deliver/lib/deliver/runner.rb +2 -2
- data/deliver/lib/deliver/setup.rb +4 -2
- data/fastlane/lib/fastlane/actions/actions_helper.rb +1 -1
- data/fastlane/lib/fastlane/actions/add_extra_platforms.rb +45 -0
- data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +13 -7
- data/fastlane/lib/fastlane/actions/crashlytics.rb +2 -2
- data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +13 -1
- data/fastlane/lib/fastlane/actions/git_tag_exists.rb +1 -1
- data/fastlane/lib/fastlane/actions/hockey.rb +117 -14
- data/fastlane/lib/fastlane/actions/slack.rb +1 -1
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +4 -0
- data/fastlane/lib/fastlane/commands_generator.rb +12 -12
- data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
- data/fastlane/lib/fastlane/environment_printer.rb +2 -2
- data/fastlane/lib/fastlane/fastlane_require.rb +1 -1
- data/fastlane/lib/fastlane/helper/git_helper.rb +22 -15
- data/fastlane/lib/fastlane/lane_manager.rb +2 -2
- data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +2 -2
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +5 -5
- data/fastlane/lib/fastlane/runner.rb +12 -9
- data/fastlane/lib/fastlane/setup/crashlytics_beta_ui.rb +1 -4
- data/fastlane/lib/fastlane/supported_platforms.rb +17 -7
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core.rb +1 -0
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +3 -3
- data/fastlane_core/lib/fastlane_core/command_executor.rb +1 -1
- data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +7 -3
- data/fastlane_core/lib/fastlane_core/device_manager.rb +43 -16
- data/fastlane_core/lib/fastlane_core/globals.rb +27 -0
- data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +1 -1
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +2 -4
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
- data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +1 -1
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +4 -4
- data/fastlane_core/lib/fastlane_core/ui/github_issue_inspector_reporter.rb +1 -1
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +22 -14
- data/fastlane_core/lib/fastlane_core/ui/interface.rb +5 -4
- data/frameit/README.md +4 -1
- data/frameit/lib/frameit/commands_generator.rb +1 -1
- data/frameit/lib/frameit/editor.rb +60 -13
- data/frameit/lib/frameit/runner.rb +1 -1
- data/gym/README.md +14 -0
- data/gym/lib/gym/commands_generator.rb +1 -1
- data/gym/lib/gym/error_handler.rb +2 -2
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +1 -1
- data/gym/lib/gym/runner.rb +3 -3
- data/gym/lib/gym/xcodebuild_fixes/package_application_fix.rb +2 -2
- data/gym/lib/gym/xcodebuild_fixes/swift_fix.rb +1 -1
- data/match/lib/match/commands_generator.rb +1 -1
- data/match/lib/match/encrypt.rb +3 -3
- data/match/lib/match/git_helper.rb +8 -8
- data/match/lib/match/options.rb +1 -1
- data/match/lib/match/utils.rb +3 -3
- data/pem/lib/pem/commands_generator.rb +1 -1
- data/pilot/lib/pilot/commands_generator.rb +1 -1
- data/produce/README.md +1 -1
- data/produce/lib/produce/commands_generator.rb +2 -2
- data/scan/lib/scan/commands_generator.rb +1 -1
- data/scan/lib/scan/options.rb +6 -0
- data/scan/lib/scan/runner.rb +2 -2
- data/scan/lib/scan/test_command_generator.rb +1 -0
- data/screengrab/lib/screengrab/commands_generator.rb +1 -1
- data/sigh/lib/sigh/commands_generator.rb +3 -3
- data/sigh/lib/sigh/local_manage.rb +1 -1
- data/sigh/lib/sigh/resign.rb +1 -1
- data/sigh/lib/sigh/runner.rb +8 -3
- data/snapshot/README.md +3 -3
- data/snapshot/lib/snapshot/collector.rb +1 -1
- data/snapshot/lib/snapshot/commands_generator.rb +1 -1
- data/snapshot/lib/snapshot/fixes/hardware_keyboard_fix.rb +1 -1
- data/snapshot/lib/snapshot/fixes/simulator_zoom_fix.rb +1 -1
- data/snapshot/lib/snapshot/reset_simulators.rb +2 -2
- data/snapshot/lib/snapshot/runner.rb +3 -3
- data/spaceship/lib/spaceship.rb +2 -0
- data/spaceship/lib/spaceship/base.rb +18 -0
- data/spaceship/lib/spaceship/client.rb +8 -5
- data/spaceship/lib/spaceship/globals.rb +12 -0
- data/spaceship/lib/spaceship/portal/app.rb +0 -6
- data/spaceship/lib/spaceship/portal/app_group.rb +0 -6
- data/spaceship/lib/spaceship/portal/device.rb +0 -6
- data/spaceship/lib/spaceship/portal/person.rb +0 -6
- data/spaceship/lib/spaceship/portal/portal.rb +1 -0
- data/spaceship/lib/spaceship/portal/portal_client.rb +37 -0
- data/spaceship/lib/spaceship/portal/spaceship.rb +9 -0
- data/spaceship/lib/spaceship/portal/website_push.rb +90 -0
- data/spaceship/lib/spaceship/tunes/app_image.rb +0 -6
- data/spaceship/lib/spaceship/tunes/app_ratings.rb +0 -9
- data/spaceship/lib/spaceship/tunes/app_screenshot.rb +0 -7
- data/spaceship/lib/spaceship/tunes/app_trailer.rb +0 -6
- data/spaceship/lib/spaceship/tunes/app_version.rb +1 -0
- data/spaceship/lib/spaceship/tunes/app_version_generated_promocodes.rb +0 -9
- data/spaceship/lib/spaceship/tunes/app_version_history.rb +0 -9
- data/spaceship/lib/spaceship/tunes/app_version_promocodes.rb +0 -9
- data/spaceship/lib/spaceship/tunes/app_version_ref.rb +0 -6
- data/spaceship/lib/spaceship/tunes/app_version_states_history.rb +0 -9
- data/spaceship/lib/spaceship/tunes/application.rb +0 -6
- data/spaceship/lib/spaceship/tunes/build.rb +0 -8
- data/spaceship/lib/spaceship/tunes/build_details.rb +0 -8
- data/spaceship/lib/spaceship/tunes/build_train.rb +0 -6
- data/spaceship/lib/spaceship/tunes/member.rb +0 -6
- data/spaceship/lib/spaceship/tunes/pricing_tier.rb +0 -9
- data/spaceship/lib/spaceship/tunes/recovery_device.rb +0 -6
- data/spaceship/lib/spaceship/tunes/territory.rb +0 -7
- data/spaceship/lib/spaceship/tunes/tester.rb +0 -6
- data/spaceship/lib/spaceship/tunes/transit_app_file.rb +0 -6
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
- data/spaceship/lib/spaceship/tunes/user_detail.rb +0 -6
- data/spaceship/lib/spaceship/tunes/version_set.rb +0 -11
- data/spaceship/lib/spaceship/two_step_client.rb +2 -2
- data/supply/lib/supply/commands_generator.rb +1 -1
- metadata +34 -17
data/gym/lib/gym/runner.rb
CHANGED
@@ -96,7 +96,7 @@ module Gym
|
|
96
96
|
# Builds the app and prepares the archive
|
97
97
|
def build_app
|
98
98
|
command = BuildCommandGenerator.generate
|
99
|
-
print_command(command, "Generated Build Command") if
|
99
|
+
print_command(command, "Generated Build Command") if FastlaneCore::Globals.verbose?
|
100
100
|
FastlaneCore::CommandExecutor.execute(command: command,
|
101
101
|
print_all: true,
|
102
102
|
print_command: !Gym.config[:silent],
|
@@ -119,7 +119,7 @@ module Gym
|
|
119
119
|
|
120
120
|
def package_app
|
121
121
|
command = PackageCommandGenerator.generate
|
122
|
-
print_command(command, "Generated Package Command") if
|
122
|
+
print_command(command, "Generated Package Command") if FastlaneCore::Globals.verbose?
|
123
123
|
|
124
124
|
FastlaneCore::CommandExecutor.execute(command: command,
|
125
125
|
print_all: false,
|
@@ -168,7 +168,7 @@ module Gym
|
|
168
168
|
# we have to remove it first, otherwise cp_r fails even with remove_destination
|
169
169
|
# e.g.: there are symlinks in the .framework
|
170
170
|
if File.exist?(existing_file)
|
171
|
-
UI.important "Removing #{File.basename(f)} from output directory" if
|
171
|
+
UI.important "Removing #{File.basename(f)} from output directory" if FastlaneCore::Globals.verbose?
|
172
172
|
FileUtils.rm_rf(existing_file)
|
173
173
|
end
|
174
174
|
FileUtils.cp_r(f, File.expand_path(Gym.config[:output_directory]), remove_destination: true)
|
@@ -29,11 +29,11 @@ module Gym
|
|
29
29
|
Dir[File.join(Gym::ROOT, "lib/assets/package_application_patches/*.diff")].each do |patch|
|
30
30
|
UI.verbose "Applying Package Application patch: #{File.basename(patch)}"
|
31
31
|
command = ["patch '#{@patched_package_application_path}' < '#{patch}'"]
|
32
|
-
Runner.new.print_command(command, "Applying Package Application patch: #{File.basename(patch)}") if
|
32
|
+
Runner.new.print_command(command, "Applying Package Application patch: #{File.basename(patch)}") if FastlaneCore::Globals.verbose?
|
33
33
|
|
34
34
|
FastlaneCore::CommandExecutor.execute(command: command,
|
35
35
|
print_all: false,
|
36
|
-
print_command:
|
36
|
+
print_command: FastlaneCore::Globals.verbose?,
|
37
37
|
error: proc do |output|
|
38
38
|
ErrorHandler.handle_package_error(output)
|
39
39
|
end)
|
@@ -55,7 +55,7 @@ module Gym
|
|
55
55
|
# Add "SwiftSupport" to the .ipa archive
|
56
56
|
Dir.chdir(tmpdir) do
|
57
57
|
command_parts = ["zip --recurse-paths '#{PackageCommandGenerator.ipa_path}' SwiftSupport"]
|
58
|
-
command_parts << "> /dev/null" unless
|
58
|
+
command_parts << "> /dev/null" unless FastlaneCore::Globals.verbose?
|
59
59
|
|
60
60
|
FastlaneCore::CommandExecutor.execute(command: command_parts,
|
61
61
|
print_all: false,
|
@@ -21,7 +21,7 @@ module Match
|
|
21
21
|
program :help, 'GitHub', 'https://github.com/fastlane/match'
|
22
22
|
program :help_formatter, :compact
|
23
23
|
|
24
|
-
global_option('--verbose') {
|
24
|
+
global_option('--verbose') { FastlaneCore::Globals.verbose = true }
|
25
25
|
|
26
26
|
FastlaneCore::CommanderGenerator.new.generate(Match::Options.available_options)
|
27
27
|
|
data/match/lib/match/encrypt.rb
CHANGED
@@ -43,7 +43,7 @@ module Match
|
|
43
43
|
crypt(path: current,
|
44
44
|
password: password(git_url),
|
45
45
|
encrypt: true)
|
46
|
-
UI.success "🔒 Encrypted '#{File.basename(current)}'" if
|
46
|
+
UI.success "🔒 Encrypted '#{File.basename(current)}'" if FastlaneCore::Globals.verbose?
|
47
47
|
end
|
48
48
|
UI.success "🔒 Successfully encrypted certificates repo"
|
49
49
|
end
|
@@ -61,7 +61,7 @@ module Match
|
|
61
61
|
decrypt_repo(path: path, git_url: git_url)
|
62
62
|
return
|
63
63
|
end
|
64
|
-
UI.success "🔓 Decrypted '#{File.basename(current)}'" if
|
64
|
+
UI.success "🔓 Decrypted '#{File.basename(current)}'" if FastlaneCore::Globals.verbose?
|
65
65
|
end
|
66
66
|
UI.success "🔓 Successfully decrypted certificates repo"
|
67
67
|
end
|
@@ -87,7 +87,7 @@ module Match
|
|
87
87
|
command << "-out #{tmpfile.shellescape}"
|
88
88
|
command << "-a"
|
89
89
|
command << "-d" unless encrypt
|
90
|
-
command << "&> /dev/null" unless
|
90
|
+
command << "&> /dev/null" unless FastlaneCore::Globals.verbose? # to show show an error message is something goes wrong
|
91
91
|
success = system(command.join(' '))
|
92
92
|
|
93
93
|
UI.crash!("Error decrypting '#{path}'") unless success
|
@@ -12,8 +12,8 @@ module Match
|
|
12
12
|
begin
|
13
13
|
# GIT_TERMINAL_PROMPT will fail the `git clone` command if user credentials are missing
|
14
14
|
FastlaneCore::CommandExecutor.execute(command: "GIT_TERMINAL_PROMPT=0 #{command}",
|
15
|
-
print_all:
|
16
|
-
print_command:
|
15
|
+
print_all: FastlaneCore::Globals.verbose?,
|
16
|
+
print_command: FastlaneCore::Globals.verbose?)
|
17
17
|
rescue
|
18
18
|
UI.error("Error cloning certificates repo, please make sure you have read access to the repository you want to use")
|
19
19
|
UI.error("Run the following command manually to make sure you're properly authenticated:")
|
@@ -75,8 +75,8 @@ module Match
|
|
75
75
|
|
76
76
|
commands.each do |command|
|
77
77
|
FastlaneCore::CommandExecutor.execute(command: command,
|
78
|
-
print_all:
|
79
|
-
print_command:
|
78
|
+
print_all: FastlaneCore::Globals.verbose?,
|
79
|
+
print_command: FastlaneCore::Globals.verbose?)
|
80
80
|
end
|
81
81
|
end
|
82
82
|
FileUtils.rm_rf(path)
|
@@ -114,8 +114,8 @@ module Match
|
|
114
114
|
Dir.chdir(@dir) do
|
115
115
|
commands.each do |command|
|
116
116
|
FastlaneCore::CommandExecutor.execute(command: command,
|
117
|
-
print_all:
|
118
|
-
print_command:
|
117
|
+
print_all: FastlaneCore::Globals.verbose?,
|
118
|
+
print_command: FastlaneCore::Globals.verbose?)
|
119
119
|
end
|
120
120
|
end
|
121
121
|
end
|
@@ -126,8 +126,8 @@ module Match
|
|
126
126
|
|
127
127
|
result = Dir.chdir(@dir) do
|
128
128
|
FastlaneCore::CommandExecutor.execute(command: "git branch --list origin/#{branch.shellescape} --no-color -r",
|
129
|
-
print_all:
|
130
|
-
print_command:
|
129
|
+
print_all: FastlaneCore::Globals.verbose?,
|
130
|
+
print_command: FastlaneCore::Globals.verbose?)
|
131
131
|
end
|
132
132
|
return !result.empty?
|
133
133
|
end
|
data/match/lib/match/options.rb
CHANGED
data/match/lib/match/utils.rb
CHANGED
@@ -2,12 +2,12 @@ module Match
|
|
2
2
|
class Utils
|
3
3
|
def self.import(item_path, keychain, password: "")
|
4
4
|
keychain_path = FastlaneCore::Helper.keychain_path(keychain)
|
5
|
-
FastlaneCore::KeychainImporter.import_file(item_path, keychain_path, keychain_password: password, output:
|
5
|
+
FastlaneCore::KeychainImporter.import_file(item_path, keychain_path, keychain_password: password, output: FastlaneCore::Globals.verbose?)
|
6
6
|
end
|
7
7
|
|
8
8
|
# Fill in an environment variable, ready to be used in _xcodebuild_
|
9
9
|
def self.fill_environment(key, value)
|
10
|
-
UI.important "Setting environment variable '#{key}' to '#{value}'" if
|
10
|
+
UI.important "Setting environment variable '#{key}' to '#{value}'" if FastlaneCore::Globals.verbose?
|
11
11
|
ENV[key] = value
|
12
12
|
end
|
13
13
|
|
@@ -26,7 +26,7 @@ module Match
|
|
26
26
|
def self.get_cert_info(cer_certificate_path)
|
27
27
|
command = "openssl x509 -inform der -in #{cer_certificate_path.shellescape} -subject -dates -noout"
|
28
28
|
command << " &" # start in separate process
|
29
|
-
output = Helper.backticks(command, print:
|
29
|
+
output = Helper.backticks(command, print: FastlaneCore::Globals.verbose?)
|
30
30
|
|
31
31
|
# openssl output:
|
32
32
|
# subject= /UID={User ID}/CN={Certificate Name}/OU={Certificate User}/O={Organisation}/C={Country}\n
|
@@ -20,7 +20,7 @@ module PEM
|
|
20
20
|
program :help, 'GitHub', 'https://github.com/fastlane/PEM'
|
21
21
|
program :help_formatter, :compact
|
22
22
|
|
23
|
-
global_option('--verbose') {
|
23
|
+
global_option('--verbose') { FastlaneCore::Globals.verbose = true }
|
24
24
|
|
25
25
|
FastlaneCore::CommanderGenerator.new.generate(PEM::Options.available_options)
|
26
26
|
|
@@ -48,7 +48,7 @@ module Pilot
|
|
48
48
|
program :help, "GitHub", "https://github.com/fastlane/fastlane/tree/master/pilot"
|
49
49
|
program :help_formatter, :compact
|
50
50
|
|
51
|
-
global_option("--verbose") {
|
51
|
+
global_option("--verbose") { FastlaneCore::Globals.verbose = true }
|
52
52
|
|
53
53
|
command :upload do |c|
|
54
54
|
c.syntax = "fastlane pilot upload"
|
data/produce/README.md
CHANGED
@@ -79,7 +79,7 @@ To get a list of all available parameters:
|
|
79
79
|
|
80
80
|
```
|
81
81
|
Commands:
|
82
|
-
associate_group Associate with a group, which is
|
82
|
+
associate_group Associate with a group, which is created if needed or simply located otherwise
|
83
83
|
create Creates a new app on iTunes Connect and the Apple Developer Portal
|
84
84
|
disable_services Disable specific Application Services for a specific app on the Apple Developer Portal
|
85
85
|
enable_services Enable specific Application Services for a specific app on the Apple Developer Portal
|
@@ -20,7 +20,7 @@ module Produce
|
|
20
20
|
program :help, 'GitHub', 'https://github.com/fastlane/produce'
|
21
21
|
program :help_formatter, :compact
|
22
22
|
|
23
|
-
global_option('--verbose') {
|
23
|
+
global_option('--verbose') { FastlaneCore::Globals.verbose = true }
|
24
24
|
|
25
25
|
FastlaneCore::CommanderGenerator.new.generate(Produce::Options.available_options)
|
26
26
|
|
@@ -116,7 +116,7 @@ module Produce
|
|
116
116
|
|
117
117
|
command :associate_group do |c|
|
118
118
|
c.syntax = 'fastlane produce associate_group -a APP_IDENTIFIER GROUP_IDENTIFIER1, GROUP_IDENTIFIER2, ...'
|
119
|
-
c.description = 'Associate with a group, which is
|
119
|
+
c.description = 'Associate with a group, which is created if needed or simply located otherwise'
|
120
120
|
c.example 'Associate with group', 'produce associate-group -a com.example.app group.example.com'
|
121
121
|
|
122
122
|
c.action do |args, options|
|
@@ -28,7 +28,7 @@ module Scan
|
|
28
28
|
program :help, "GitHub", "https://github.com/fastlane/fastlane/tree/master/scan"
|
29
29
|
program :help_formatter, :compact
|
30
30
|
|
31
|
-
global_option("--verbose") {
|
31
|
+
global_option("--verbose") { FastlaneCore::Globals.verbose = true }
|
32
32
|
|
33
33
|
command :tests do |c|
|
34
34
|
c.syntax = "fastlane scan"
|
data/scan/lib/scan/options.rb
CHANGED
@@ -44,6 +44,12 @@ module Scan
|
|
44
44
|
conflict_block: proc do |value|
|
45
45
|
UI.user_error!("You can't use 'device' and 'devices' options in one run")
|
46
46
|
end),
|
47
|
+
FastlaneCore::ConfigItem.new(key: :toolchain,
|
48
|
+
env_name: "SCAN_TOOLCHAIN",
|
49
|
+
conflicting_options: [:xctestrun],
|
50
|
+
description: "The toolchain that should be used for building the application (e.g. com.apple.dt.toolchain.Swift_2_3, org.swift.30p620160816a)",
|
51
|
+
optional: true,
|
52
|
+
is_string: false),
|
47
53
|
FastlaneCore::ConfigItem.new(key: :devices,
|
48
54
|
optional: true,
|
49
55
|
is_string: false,
|
data/scan/lib/scan/runner.rb
CHANGED
@@ -97,8 +97,8 @@ module Scan
|
|
97
97
|
|
98
98
|
UI.header("Collecting system logs")
|
99
99
|
Scan.devices.each do |device|
|
100
|
-
|
101
|
-
FastlaneCore::Simulator.
|
100
|
+
log_identity = "#{device.name}_#{device.os_type}_#{device.os_version}"
|
101
|
+
FastlaneCore::Simulator.copy_logs(device, log_identity, Scan.config[:output_directory])
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
@@ -33,6 +33,7 @@ module Scan
|
|
33
33
|
options += project_path_array unless config[:xctestrun]
|
34
34
|
options << "-sdk '#{config[:sdk]}'" if config[:sdk]
|
35
35
|
options << destination # generated in `detect_values`
|
36
|
+
options << "-toolchain '#{config[:toolchain]}'" if config[:toolchain]
|
36
37
|
options << "-derivedDataPath '#{config[:derived_data_path]}'" if config[:derived_data_path]
|
37
38
|
options << "-resultBundlePath '#{result_bundle_path}'" if config[:result_bundle]
|
38
39
|
options << "-enableCodeCoverage #{config[:code_coverage] ? 'YES' : 'NO'}" unless config[:code_coverage].nil?
|
@@ -20,7 +20,7 @@ module Screengrab
|
|
20
20
|
program :help, 'GitHub', 'https://github.com/fastlane/screengrab'
|
21
21
|
program :help_formatter, :compact
|
22
22
|
|
23
|
-
global_option('--verbose', 'Shows a more verbose output') {
|
23
|
+
global_option('--verbose', 'Shows a more verbose output') { FastlaneCore::Globals.verbose = true }
|
24
24
|
|
25
25
|
always_trace!
|
26
26
|
|
@@ -20,14 +20,14 @@ module Sigh
|
|
20
20
|
program :help, 'GitHub', 'https://github.com/fastlane/sigh'
|
21
21
|
program :help_formatter, :compact
|
22
22
|
|
23
|
-
global_option('--verbose') {
|
24
|
-
|
25
|
-
FastlaneCore::CommanderGenerator.new.generate(Sigh::Options.available_options)
|
23
|
+
global_option('--verbose') { FastlaneCore::Globals.verbose = true }
|
26
24
|
|
27
25
|
command :renew do |c|
|
28
26
|
c.syntax = 'fastlane sigh renew'
|
29
27
|
c.description = 'Renews the certificate (in case it expired) and outputs the path to the generated file'
|
30
28
|
|
29
|
+
FastlaneCore::CommanderGenerator.new.generate(Sigh::Options.available_options, command: c)
|
30
|
+
|
31
31
|
c.action do |args, options|
|
32
32
|
user_input = options.__hash__
|
33
33
|
|
data/sigh/lib/sigh/resign.rb
CHANGED
@@ -33,7 +33,7 @@ module Sigh
|
|
33
33
|
display_name = "-d #{display_name.shellescape}" if display_name
|
34
34
|
short_version = "--short-version #{short_version}" if short_version
|
35
35
|
bundle_version = "--bundle-version #{bundle_version}" if bundle_version
|
36
|
-
verbose = "-v" if
|
36
|
+
verbose = "-v" if FastlaneCore::Globals.verbose?
|
37
37
|
bundle_id = "-b '#{new_bundle_id}'" if new_bundle_id
|
38
38
|
use_app_entitlements_flag = "--use-app-entitlements" if use_app_entitlements
|
39
39
|
specific_keychain = "--keychain-path #{keychain_path.shellescape}" if keychain_path
|
data/sigh/lib/sigh/runner.rb
CHANGED
@@ -127,7 +127,7 @@ module Sigh
|
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
130
|
-
UI.important "Creating new provisioning profile for '#{Sigh.config[:app_identifier]}' with name '#{name} for #{Sigh.config[:platform]} platform
|
130
|
+
UI.important "Creating new provisioning profile for '#{Sigh.config[:app_identifier]}' with name '#{name}' for '#{Sigh.config[:platform]}' platform"
|
131
131
|
profile = profile_type.create!(name: name,
|
132
132
|
bundle_id: bundle_id,
|
133
133
|
certificate: cert,
|
@@ -216,8 +216,13 @@ module Sigh
|
|
216
216
|
# Downloads and stores the provisioning profile
|
217
217
|
def download_profile(profile)
|
218
218
|
UI.important "Downloading provisioning profile..."
|
219
|
-
profile_name ||= "#{profile_type.pretty_type}_#{Sigh.config[:app_identifier]}
|
220
|
-
|
219
|
+
profile_name ||= "#{profile_type.pretty_type}_#{Sigh.config[:app_identifier]}"
|
220
|
+
|
221
|
+
if Sigh.config[:platform].to_s == 'tvos'
|
222
|
+
profile_name += "_tvos"
|
223
|
+
end
|
224
|
+
|
225
|
+
profile_name += '.mobileprovision'
|
221
226
|
|
222
227
|
tmp_path = Dir.mktmpdir("profile_download")
|
223
228
|
output_path = File.join(tmp_path, profile_name)
|
data/snapshot/README.md
CHANGED
@@ -280,7 +280,7 @@ to update your `SnapshotHelper.swift` files. In case you modified your `Snapshot
|
|
280
280
|
|
281
281
|
## Launch Arguments
|
282
282
|
|
283
|
-
You can provide additional arguments to your app on launch. These strings will be available in your app (eg. not in the testing target) through `
|
283
|
+
You can provide additional arguments to your app on launch. These strings will be available in your app (eg. not in the testing target) through `ProcessInfo.processInfo.arguments`. Alternatively, use user-default syntax (`-key value`) and they will be available as key-value pairs in `UserDefaults.standard`.
|
284
284
|
|
285
285
|
```ruby
|
286
286
|
launch_arguments([
|
@@ -289,14 +289,14 @@ launch_arguments([
|
|
289
289
|
```
|
290
290
|
|
291
291
|
```swift
|
292
|
-
name.text =
|
292
|
+
name.text = UserDefaults.standard.string(forKey: "firstName")
|
293
293
|
// name.text = "Felix"
|
294
294
|
```
|
295
295
|
|
296
296
|
_snapshot_ includes `-FASTLANE_SNAPSHOT YES`, which will set a temporary user default for the key `FASTLANE_SNAPSHOT`, you may use this to detect when the app is run by _snapshot_.
|
297
297
|
|
298
298
|
```swift
|
299
|
-
if
|
299
|
+
if UserDefaults.standard.bool(forKey: "FASTLANE_SNAPSHOT") {
|
300
300
|
// runtime check that we are in snapshot mode
|
301
301
|
}
|
302
302
|
```
|
@@ -30,7 +30,7 @@ module Snapshot
|
|
30
30
|
screenshot_name = device_name + "-" + name + "-" + Digest::MD5.hexdigest(components.join("-")) + ".png"
|
31
31
|
output_path = File.join(language_folder, screenshot_name)
|
32
32
|
from_path = File.join(attachments_path, filename)
|
33
|
-
if
|
33
|
+
if FastlaneCore::Globals.verbose?
|
34
34
|
UI.success "Copying file '#{from_path}' to '#{output_path}'..."
|
35
35
|
else
|
36
36
|
UI.success "Copying '#{output_path}'..."
|
@@ -20,7 +20,7 @@ module Snapshot
|
|
20
20
|
program :help, 'GitHub', 'https://github.com/fastlane/snapshot'
|
21
21
|
program :help_formatter, :compact
|
22
22
|
|
23
|
-
global_option('--verbose', 'Shows a more verbose output') {
|
23
|
+
global_option('--verbose', 'Shows a more verbose output') { FastlaneCore::Globals.verbose = true }
|
24
24
|
|
25
25
|
always_trace!
|
26
26
|
|
@@ -7,7 +7,7 @@ module Snapshot
|
|
7
7
|
def self.patch
|
8
8
|
UI.verbose "Patching simulator to work with secure text fields"
|
9
9
|
|
10
|
-
Helper.backticks("defaults write com.apple.iphonesimulator ConnectHardwareKeyboard 0", print:
|
10
|
+
Helper.backticks("defaults write com.apple.iphonesimulator ConnectHardwareKeyboard 0", print: FastlaneCore::Globals.verbose?)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
@@ -13,7 +13,7 @@ module Snapshot
|
|
13
13
|
simulator_name = simulator.name.tr("\s", "-")
|
14
14
|
key = "SimulatorWindowLastScale-com.apple.CoreSimulator.SimDeviceType.#{simulator_name}"
|
15
15
|
|
16
|
-
Helper.backticks("defaults write '#{config_path}' '#{key}' '1.0'", print:
|
16
|
+
Helper.backticks("defaults write '#{config_path}' '#{key}' '1.0'", print: FastlaneCore::Globals.verbose?)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -58,7 +58,7 @@ module Snapshot
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def self.devices
|
61
|
-
all_devices = Helper.backticks('xcrun simctl list devices', print:
|
61
|
+
all_devices = Helper.backticks('xcrun simctl list devices', print: FastlaneCore::Globals.verbose?)
|
62
62
|
# == Devices ==
|
63
63
|
# -- iOS 9.0 --
|
64
64
|
# iPhone 4s (32246EBC-33B0-47F9-B7BB-5C23C550DF29) (Shutdown)
|
@@ -85,7 +85,7 @@ module Snapshot
|
|
85
85
|
|
86
86
|
if phones.any? && watches.any?
|
87
87
|
puts "Creating device pair of #{phones.last} and #{watches.last}"
|
88
|
-
Helper.backticks("xcrun simctl pair #{watches.last} #{phones.last}", print:
|
88
|
+
Helper.backticks("xcrun simctl pair #{watches.last} #{phones.last}", print: FastlaneCore::Globals.verbose?)
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
@@ -81,7 +81,7 @@ module Snapshot
|
|
81
81
|
UI.important "Tests failed, re-trying #{retries + 1} out of #{Snapshot.config[:number_of_retries] + 1} times"
|
82
82
|
run_for_device_and_language(language, locale, device, launch_arguments, retries + 1)
|
83
83
|
else
|
84
|
-
UI.error "Backtrace:\n\t#{ex.backtrace.join("\n\t")}" if
|
84
|
+
UI.error "Backtrace:\n\t#{ex.backtrace.join("\n\t")}" if FastlaneCore::Globals.verbose?
|
85
85
|
self.collected_errors << ex
|
86
86
|
raise ex if Snapshot.config[:stop_after_first_error]
|
87
87
|
return false # for the results
|
@@ -107,8 +107,8 @@ module Snapshot
|
|
107
107
|
components = [launch_arguments].delete_if { |a| a.to_s.length == 0 }
|
108
108
|
|
109
109
|
UI.header("Collecting system logs #{device_name} - #{language}")
|
110
|
-
|
111
|
-
FastlaneCore::Simulator.
|
110
|
+
log_identity = Digest::MD5.hexdigest(components.join("-"))
|
111
|
+
FastlaneCore::Simulator.copy_logs(device, log_identity, language_folder)
|
112
112
|
end
|
113
113
|
|
114
114
|
def print_results(results)
|
data/spaceship/lib/spaceship.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'spaceship/globals'
|
1
2
|
require 'spaceship/base'
|
2
3
|
require 'spaceship/client'
|
3
4
|
require 'spaceship/launcher'
|
@@ -20,6 +21,7 @@ module Spaceship
|
|
20
21
|
Device = Spaceship::Portal::Device
|
21
22
|
App = Spaceship::Portal::App
|
22
23
|
AppGroup = Spaceship::Portal::AppGroup
|
24
|
+
WebsitePush = Spaceship::Portal::WebsitePush
|
23
25
|
AppService = Spaceship::Portal::AppService
|
24
26
|
|
25
27
|
# iTunes Connect
|