fastlane 2.16.0.beta.20170214010051 → 2.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/deliver/lib/deliver/runner.rb +2 -2
- data/fastlane/lib/fastlane/actions/hockey.rb +1 -1
- data/fastlane/lib/fastlane/actions/reset_git_repo.rb +1 -1
- data/fastlane/lib/fastlane/other_action.rb +1 -1
- data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +0 -11
- data/fastlane/lib/fastlane/setup/setup_android.rb +2 -2
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core/project.rb +9 -2
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +18 -4
- data/fastlane_core/lib/fastlane_core/ui/interface.rb +1 -1
- data/match/lib/match/commands_generator.rb +2 -2
- data/match/lib/match/generator.rb +1 -1
- data/match/lib/match/nuke.rb +1 -1
- data/match/lib/match/runner.rb +1 -1
- data/match/lib/match/spaceship_ensure.rb +4 -4
- data/sigh/lib/sigh/commands_generator.rb +4 -0
- data/sigh/lib/sigh/local_manage.rb +1 -1
- data/snapshot/lib/snapshot/runner.rb +1 -1
- data/snapshot/lib/snapshot/test_command_generator.rb +1 -1
- data/supply/lib/supply/uploader.rb +1 -1
- metadata +16 -16
- data/fastlane/lib/assets/AvailablePlugins.md.erb +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b23a6ac1c98d9099fd80546792028a9577636ef
|
4
|
+
data.tar.gz: 348db27cd92fa4d8ee520232af4e46e024d77c85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7ae6adfd2c431a9f0d98f5d4919a04a94babb87b8669f267de8bd3fb3c028710feb5a72e806960f048947bfadfc9fd3a7e20b393c0b242d8269424cef6e87b3
|
7
|
+
data.tar.gz: 42170999f744728ccda59909a0242b81f7ce8ffcee2b37e98e9d9e6262c90e588618f02b3cf5f8522f2bdae1fc735e224665837c60c13eaa78a27e607c19a271
|
@@ -73,10 +73,10 @@ module Deliver
|
|
73
73
|
return unless options[:metadata_path]
|
74
74
|
|
75
75
|
default_app_icon_path = Dir[File.join(options[:metadata_path], "app_icon.{png,jpg}")].first
|
76
|
-
options[:app_icon] ||= default_app_icon_path if File.exist?(default_app_icon_path)
|
76
|
+
options[:app_icon] ||= default_app_icon_path if default_app_icon_path && File.exist?(default_app_icon_path)
|
77
77
|
|
78
78
|
default_watch_icon_path = Dir[File.join(options[:metadata_path], "watch_icon.{png,jpg}")].first
|
79
|
-
options[:
|
79
|
+
options[:apple_watch_app_icon] ||= default_watch_icon_path if default_watch_icon_path && File.exist?(default_watch_icon_path)
|
80
80
|
end
|
81
81
|
|
82
82
|
# Upload the binary to iTunes Connect
|
@@ -30,17 +30,6 @@ module Fastlane
|
|
30
30
|
|
31
31
|
return plugins
|
32
32
|
end
|
33
|
-
|
34
|
-
def self.update_md_file!(output_path: "docs/AvailablePlugins.md")
|
35
|
-
@plugins = fetch_gems
|
36
|
-
|
37
|
-
template_path = File.join(Fastlane::ROOT, "lib/assets/AvailablePlugins.md.erb")
|
38
|
-
md = ERB.new(File.read(template_path), nil, '<>').result(binding) # http://www.rrn.dk/rubys-erb-templating-system
|
39
|
-
|
40
|
-
puts md
|
41
|
-
File.write(output_path, md)
|
42
|
-
FastlaneCore::UI.success("Successfully written plugin file to '#{output_path}'")
|
43
|
-
end
|
44
33
|
end
|
45
34
|
|
46
35
|
class FastlanePlugin
|
@@ -57,10 +57,10 @@ module Fastlane
|
|
57
57
|
Supply::Setup.new.perform_download
|
58
58
|
rescue => ex
|
59
59
|
UI.error(ex.to_s)
|
60
|
-
UI.error("supply failed, but don't worry, you can launch supply using `supply init` whenever you want.")
|
60
|
+
UI.error("supply failed, but don't worry, you can launch supply using `fastlane supply init` whenever you want.")
|
61
61
|
end
|
62
62
|
else
|
63
|
-
UI.success("You can run `supply init` to do so at a later point.")
|
63
|
+
UI.success("You can run `fastlane supply init` to do so at a later point.")
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
@@ -241,8 +241,12 @@ module FastlaneCore
|
|
241
241
|
end
|
242
242
|
|
243
243
|
def supported_platforms
|
244
|
-
supported_platforms = build_settings(key: "SUPPORTED_PLATFORMS")
|
245
|
-
supported_platforms.
|
244
|
+
supported_platforms = build_settings(key: "SUPPORTED_PLATFORMS")
|
245
|
+
if supported_platforms.nil?
|
246
|
+
UI.important("Could not read the \"SUPPORTED_PLATFORMS\" build setting, assuming that the project supports iOS only.")
|
247
|
+
return [:iOS]
|
248
|
+
end
|
249
|
+
supported_platforms.split.map do |platform|
|
246
250
|
case platform
|
247
251
|
when "macosx" then :macOS
|
248
252
|
when "iphonesimulator", "iphoneos" then :iOS
|
@@ -288,6 +292,9 @@ module FastlaneCore
|
|
288
292
|
timeout = FastlaneCore::Project.xcode_build_settings_timeout
|
289
293
|
retries = FastlaneCore::Project.xcode_build_settings_retries
|
290
294
|
@build_settings = FastlaneCore::Project.run_command(command, timeout: timeout, retries: retries, print: !self.xcodebuild_list_silent)
|
295
|
+
if @build_settings.empty?
|
296
|
+
UI.error("Could not read build settings. Make sure that the scheme \"#{options[:scheme]}\" is configured for running by going to Product → Scheme → Edit Scheme…, selecting the \"Build\" section, checking the \"Run\" checkbox and closing the scheme window.")
|
297
|
+
end
|
291
298
|
rescue Timeout::Error
|
292
299
|
UI.crash!("xcodebuild -showBuildSettings timed-out after #{timeout} seconds and #{retries} retries." \
|
293
300
|
" You can override the timeout value with the environment variable FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT," \
|
@@ -37,7 +37,13 @@ module Commander
|
|
37
37
|
collector.did_launch_action(@program[:name])
|
38
38
|
run_active_command
|
39
39
|
rescue InvalidCommandError => e
|
40
|
-
abort
|
40
|
+
# calling `abort` makes it likely that tests stop without failing, so
|
41
|
+
# we'll disable that during tests.
|
42
|
+
if FastlaneCore::Helper.test?
|
43
|
+
raise e
|
44
|
+
else
|
45
|
+
abort "#{e}. Use --help for more information"
|
46
|
+
end
|
41
47
|
rescue Interrupt => ex
|
42
48
|
# We catch it so that the stack trace is hidden by default when using ctrl + c
|
43
49
|
if FastlaneCore::Globals.verbose?
|
@@ -49,7 +55,13 @@ module Commander
|
|
49
55
|
OptionParser::InvalidOption,
|
50
56
|
OptionParser::InvalidArgument,
|
51
57
|
OptionParser::MissingArgument => e
|
52
|
-
abort
|
58
|
+
# calling `abort` makes it likely that tests stop without failing, so
|
59
|
+
# we'll disable that during tests.
|
60
|
+
if FastlaneCore::Helper.test?
|
61
|
+
raise e
|
62
|
+
else
|
63
|
+
abort e.to_s
|
64
|
+
end
|
53
65
|
rescue FastlaneCore::Interface::FastlaneError => e # user_error!
|
54
66
|
collector.did_raise_error(@program[:name])
|
55
67
|
show_github_issues(e.message) if e.show_github_issues
|
@@ -159,10 +171,12 @@ module Commander
|
|
159
171
|
end
|
160
172
|
|
161
173
|
def display_user_error!(e, message)
|
162
|
-
if FastlaneCore::Globals.verbose?
|
174
|
+
if FastlaneCore::Globals.verbose?
|
175
|
+
# with stack trace
|
163
176
|
reraise_formatted!(e, message)
|
164
177
|
else
|
165
|
-
|
178
|
+
# without stack trace
|
179
|
+
abort "\n[!] #{message}".red
|
166
180
|
end
|
167
181
|
end
|
168
182
|
|
@@ -16,7 +16,7 @@ module FastlaneCore
|
|
16
16
|
end
|
17
17
|
|
18
18
|
# Level Important: Can be used to show warnings to the user
|
19
|
-
# not
|
19
|
+
# not necessarily negative, but something the user should
|
20
20
|
# be aware of.
|
21
21
|
#
|
22
22
|
# By default those messages are shown in yellow
|
@@ -31,7 +31,7 @@ module Match
|
|
31
31
|
|
32
32
|
c.action do |args, options|
|
33
33
|
if args.count > 0
|
34
|
-
FastlaneCore::UI.user_error!("Please run `match [type]`, allowed values: development, adhoc or appstore")
|
34
|
+
FastlaneCore::UI.user_error!("Please run `fastlane match [type]`, allowed values: development, adhoc or appstore")
|
35
35
|
end
|
36
36
|
|
37
37
|
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
@@ -97,7 +97,7 @@ module Match
|
|
97
97
|
c.syntax = "fastlane match nuke"
|
98
98
|
c.description = "Delete all certificates and provisioning profiles from the Apple Dev Portal"
|
99
99
|
c.action do |args, options|
|
100
|
-
FastlaneCore::UI.user_error!("Please run `match nuke [type], allowed values: distribution and development. For the 'adhoc' type, please use 'distribution' instead.")
|
100
|
+
FastlaneCore::UI.user_error!("Please run `fastlane match nuke [type], allowed values: distribution and development. For the 'adhoc' type, please use 'distribution' instead.")
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
@@ -20,7 +20,7 @@ module Match
|
|
20
20
|
cert_path = Cert::Runner.new.launch
|
21
21
|
rescue => ex
|
22
22
|
if ex.to_s.include?("You already have a current")
|
23
|
-
UI.user_error!("Could not create a new certificate as you reached the maximum number of certificates for this account. You can use the `match nuke` command to revoke your existing certificates. More information https://github.com/fastlane/fastlane/tree/master/match")
|
23
|
+
UI.user_error!("Could not create a new certificate as you reached the maximum number of certificates for this account. You can use the `fastlane match nuke` command to revoke your existing certificates. More information https://github.com/fastlane/fastlane/tree/master/match")
|
24
24
|
else
|
25
25
|
raise ex
|
26
26
|
end
|
data/match/lib/match/nuke.rb
CHANGED
@@ -23,7 +23,7 @@ module Match
|
|
23
23
|
print_tables
|
24
24
|
|
25
25
|
if params[:readonly]
|
26
|
-
UI.user_error!("`match nuke` doesn't delete anything when running with --readonly enabled")
|
26
|
+
UI.user_error!("`fastlane match nuke` doesn't delete anything when running with --readonly enabled")
|
27
27
|
end
|
28
28
|
|
29
29
|
if (self.certs + self.profiles + self.files).count > 0
|
data/match/lib/match/runner.rb
CHANGED
@@ -57,7 +57,7 @@ module Match
|
|
57
57
|
UI.success "All required keys, certificates and provisioning profiles are installed 🙌".green
|
58
58
|
rescue Spaceship::Client::UnexpectedResponse, Spaceship::Client::InvalidUserCredentialsError, Spaceship::Client::NoUserCredentialsError => ex
|
59
59
|
UI.error("An error occured while verifying your certificates and profiles with the Apple Developer Portal.")
|
60
|
-
UI.error("If you already have your certificates stored in git, you can run `match` in readonly mode")
|
60
|
+
UI.error("If you already have your certificates stored in git, you can run `fastlane match` in readonly mode")
|
61
61
|
UI.error("to just install the certificates and profiles without accessing the Dev Portal.")
|
62
62
|
UI.error("To do so, just pass `readonly: true` to your match call.")
|
63
63
|
raise ex
|
@@ -9,7 +9,7 @@ module Match
|
|
9
9
|
keychain_entry = CredentialsManager::AccountManager.new(user: user)
|
10
10
|
|
11
11
|
if keychain_entry.password(ask_if_missing: false).to_s.length == 0
|
12
|
-
UI.important("You can also run `match` in readonly mode to not require any access to the")
|
12
|
+
UI.important("You can also run `fastlane match` in readonly mode to not require any access to the")
|
13
13
|
UI.important("Developer Portal. This way you only share the keys and credentials")
|
14
14
|
UI.command("fastlane match --readonly")
|
15
15
|
UI.important("More information https://github.com/fastlane/fastlane/tree/master/match#access-control")
|
@@ -33,7 +33,7 @@ module Match
|
|
33
33
|
UI.error("================================================================")
|
34
34
|
available_apps = Spaceship.app.all.collect { |a| "#{a.bundle_id} (#{a.name})" }
|
35
35
|
UI.message("Available apps:\n- #{available_apps.join("\n- ")}")
|
36
|
-
UI.error("Make sure to run `match` with the same user and team every time.")
|
36
|
+
UI.error("Make sure to run `fastlane match` with the same user and team every time.")
|
37
37
|
UI.user_error!("Couldn't find bundle identifier '#{app_identifier}' for the user '#{username}'")
|
38
38
|
end
|
39
39
|
|
@@ -47,7 +47,7 @@ module Match
|
|
47
47
|
UI.error("for the user #{username}")
|
48
48
|
UI.error("Make sure to use the same user and team every time you run 'match' for this")
|
49
49
|
UI.error("Git repository. This might be caused by revoking the certificate on the Dev Portal")
|
50
|
-
UI.user_error!("To reset the certificates of your Apple account, you can use the `match nuke` feature, more information on https://github.com/fastlane/fastlane/tree/master/match")
|
50
|
+
UI.user_error!("To reset the certificates of your Apple account, you can use the `fastlane match nuke` feature, more information on https://github.com/fastlane/fastlane/tree/master/match")
|
51
51
|
end
|
52
52
|
|
53
53
|
def profile_exists(username: nil, uuid: nil)
|
@@ -60,7 +60,7 @@ module Match
|
|
60
60
|
UI.error("for the user #{username}")
|
61
61
|
UI.error("Make sure to use the same user and team every time you run 'match' for this")
|
62
62
|
UI.error("Git repository. This might be caused by deleting the provisioning profile on the Dev Portal")
|
63
|
-
UI.user_error!("To reset the provisioning profiles of your Apple account, you can use the `match nuke` feature, more information on https://github.com/fastlane/fastlane/tree/master/match")
|
63
|
+
UI.user_error!("To reset the provisioning profiles of your Apple account, you can use the `fastlane match nuke` feature, more information on https://github.com/fastlane/fastlane/tree/master/match")
|
64
64
|
end
|
65
65
|
|
66
66
|
if found.valid?
|
@@ -60,6 +60,8 @@ module Sigh
|
|
60
60
|
c.syntax = 'fastlane sigh download_all'
|
61
61
|
c.description = 'Downloads all valid provisioning profiles'
|
62
62
|
|
63
|
+
FastlaneCore::CommanderGenerator.new.generate(Sigh::Options.available_options, command: c)
|
64
|
+
|
63
65
|
c.action do |args, options|
|
64
66
|
Sigh.config = FastlaneCore::Configuration.create(Sigh::Options.available_options, options.__hash__)
|
65
67
|
Sigh::Manager.download_all
|
@@ -70,6 +72,8 @@ module Sigh
|
|
70
72
|
c.syntax = 'fastlane sigh repair'
|
71
73
|
c.description = 'Repairs all expired or invalid provisioning profiles'
|
72
74
|
|
75
|
+
FastlaneCore::CommanderGenerator.new.generate(Sigh::Options.available_options, command: c)
|
76
|
+
|
73
77
|
c.action do |args, options|
|
74
78
|
Sigh.config = FastlaneCore::Configuration.create(Sigh::Options.available_options, options.__hash__)
|
75
79
|
require 'sigh/repair'
|
@@ -82,7 +82,7 @@ module Sigh
|
|
82
82
|
UI.message "#{profiles_soon.count} are valid but will expire within 30 days".yellow
|
83
83
|
UI.message "#{profiles_valid.count} are valid".green
|
84
84
|
|
85
|
-
UI.message "You can remove all expired profiles using `sigh manage -e`" if profiles_expired.count > 0
|
85
|
+
UI.message "You can remove all expired profiles using `fastlane sigh manage -e`" if profiles_expired.count > 0
|
86
86
|
end
|
87
87
|
|
88
88
|
def self.profile_info(profile)
|
@@ -298,7 +298,7 @@ module Snapshot
|
|
298
298
|
content = File.read(path)
|
299
299
|
|
300
300
|
unless content.include?(current_version)
|
301
|
-
UI.error "Your '#{path}' is outdated, please run `snapshot update`"
|
301
|
+
UI.error "Your '#{path}' is outdated, please run `fastlane snapshot update`"
|
302
302
|
UI.error "to update your Helper file"
|
303
303
|
UI.user_error!("Please update your Snapshot Helper file")
|
304
304
|
end
|
@@ -44,7 +44,7 @@ module Snapshot
|
|
44
44
|
|
45
45
|
build_settings = []
|
46
46
|
build_settings << "FASTLANE_SNAPSHOT=YES"
|
47
|
-
build_settings << "TEST_TARGET_NAME
|
47
|
+
build_settings << "TEST_TARGET_NAME=#{config[:test_target_name].shellescape}" if config[:test_target_name]
|
48
48
|
|
49
49
|
build_settings
|
50
50
|
end
|
@@ -5,7 +5,7 @@ module Supply
|
|
5
5
|
|
6
6
|
client.begin_edit(package_name: Supply.config[:package_name])
|
7
7
|
|
8
|
-
UI.user_error!("No local metadata found, make sure to run `supply init` to setup supply") unless metadata_path || Supply.config[:apk] || Supply.config[:apk_paths]
|
8
|
+
UI.user_error!("No local metadata found, make sure to run `fastlane supply init` to setup supply") unless metadata_path || Supply.config[:apk] || Supply.config[:apk_paths]
|
9
9
|
|
10
10
|
if metadata_path
|
11
11
|
UI.user_error!("Could not find folder #{metadata_path}") unless File.directory? metadata_path
|
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.16.0
|
4
|
+
version: 2.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -756,7 +756,6 @@ files:
|
|
756
756
|
- fastlane/lib/assets/Actions.md.erb
|
757
757
|
- fastlane/lib/assets/AppfileTemplate
|
758
758
|
- fastlane/lib/assets/AppfileTemplateAndroid
|
759
|
-
- fastlane/lib/assets/AvailablePlugins.md.erb
|
760
759
|
- fastlane/lib/assets/DefaultFastfileTemplate
|
761
760
|
- fastlane/lib/assets/FastfileTemplateAndroid
|
762
761
|
- fastlane/lib/assets/completions/completion.bash
|
@@ -1295,23 +1294,23 @@ metadata: {}
|
|
1295
1294
|
post_install_message:
|
1296
1295
|
rdoc_options: []
|
1297
1296
|
require_paths:
|
1298
|
-
-
|
1299
|
-
- pem/lib
|
1300
|
-
- spaceship/lib
|
1297
|
+
- cert/lib
|
1301
1298
|
- credentials_manager/lib
|
1302
|
-
-
|
1299
|
+
- deliver/lib
|
1303
1300
|
- fastlane/lib
|
1301
|
+
- fastlane_core/lib
|
1302
|
+
- frameit/lib
|
1304
1303
|
- gym/lib
|
1304
|
+
- match/lib
|
1305
|
+
- pem/lib
|
1306
|
+
- pilot/lib
|
1307
|
+
- produce/lib
|
1308
|
+
- scan/lib
|
1305
1309
|
- screengrab/lib
|
1306
1310
|
- sigh/lib
|
1307
|
-
- frameit/lib
|
1308
|
-
- produce/lib
|
1309
|
-
- match/lib
|
1310
|
-
- cert/lib
|
1311
|
-
- deliver/lib
|
1312
|
-
- fastlane_core/lib
|
1313
|
-
- supply/lib
|
1314
1311
|
- snapshot/lib
|
1312
|
+
- spaceship/lib
|
1313
|
+
- supply/lib
|
1315
1314
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1316
1315
|
requirements:
|
1317
1316
|
- - ">="
|
@@ -1319,14 +1318,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1319
1318
|
version: 2.0.0
|
1320
1319
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1321
1320
|
requirements:
|
1322
|
-
- - "
|
1321
|
+
- - ">="
|
1323
1322
|
- !ruby/object:Gem::Version
|
1324
|
-
version:
|
1323
|
+
version: '0'
|
1325
1324
|
requirements: []
|
1326
1325
|
rubyforge_project:
|
1327
|
-
rubygems_version: 2.
|
1326
|
+
rubygems_version: 2.5.1
|
1328
1327
|
signing_key:
|
1329
1328
|
specification_version: 4
|
1330
1329
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|
1331
1330
|
Android apps
|
1332
1331
|
test_files: []
|
1332
|
+
has_rdoc:
|
@@ -1,24 +0,0 @@
|
|
1
|
-
### Available Plugins
|
2
|
-
|
3
|
-
To get an up to date list of all available plugins run
|
4
|
-
|
5
|
-
```no-highlight
|
6
|
-
fastlane search_plugins
|
7
|
-
```
|
8
|
-
|
9
|
-
To search for a specific plugin
|
10
|
-
|
11
|
-
```no-highlight
|
12
|
-
fastlane search_plugins [search_query]
|
13
|
-
```
|
14
|
-
|
15
|
-
You can find more information about how to start using plugins in [Plugins.md](https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Plugins.md).
|
16
|
-
|
17
|
-
#### List of plugins
|
18
|
-
|
19
|
-
| Plugin Name | Description | Downloads
|
20
|
-
--------------|-------------|----------|----------
|
21
|
-
<% @plugins.each do |current| %>
|
22
|
-
<%= current.linked_title %> | <%= current.info %> | <%= current.downloads %>
|
23
|
-
|
24
|
-
<% end %>
|