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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8f24515c3bd883644969e307a7ccfa72e2fe1145
4
- data.tar.gz: 8e4fc0039ada71e98a7c50fe627cbb84e4e538ca
3
+ metadata.gz: 8b23a6ac1c98d9099fd80546792028a9577636ef
4
+ data.tar.gz: 348db27cd92fa4d8ee520232af4e46e024d77c85
5
5
  SHA512:
6
- metadata.gz: 3383566d267f96f39899123896ed28bb1443f48de579f874edeee68f46a702556eb8065dfb493e7a7c49387a32850a496600099991a737fb9037ddcbbb0b2458
7
- data.tar.gz: 47318893ab5b372175b3f5a935b5fe8a00545a5ccd87a8e6012d497de1a7d65eb0bc776ace47c9bca2ec3628d3884c726586ef4922226cce9848b2a94b98de31
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[:app_icon] ||= default_watch_icon_path if File.exist?(default_watch_icon_path)
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
@@ -354,7 +354,7 @@ module Fastlane
354
354
  api_token: "...",
355
355
  create_update: true,
356
356
  public_identifier: "....",
357
- bundle_short_version: "1.0.2,
357
+ bundle_short_version: "1.0.2",
358
358
  bundle_version: "1.0.2.145",
359
359
  ipa: "./my.msi",
360
360
  notes: "Changelog"
@@ -10,7 +10,7 @@ module Fastlane
10
10
 
11
11
  return paths if Helper.is_test?
12
12
 
13
- if (paths || []).count == 0
13
+ if paths.nil?
14
14
  Actions.sh('git reset --hard HEAD')
15
15
 
16
16
  clean_options = ['q', 'f', 'd']
@@ -21,7 +21,7 @@ module Fastlane
21
21
  # the fastlane folder too
22
22
 
23
23
  self.runner.trigger_action_by_name(method_sym,
24
- "./fastlane",
24
+ FastlaneCore::FastlaneFolder.path,
25
25
  true,
26
26
  *arguments)
27
27
  end
@@ -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
 
@@ -1,4 +1,4 @@
1
1
  module Fastlane
2
- VERSION = '2.16.0.beta.20170214010051'.freeze
2
+ VERSION = '2.16.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  end
@@ -241,8 +241,12 @@ module FastlaneCore
241
241
  end
242
242
 
243
243
  def supported_platforms
244
- supported_platforms = build_settings(key: "SUPPORTED_PLATFORMS").split
245
- supported_platforms.map do |platform|
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 "#{e}. Use --help for more information"
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 e.to_s
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? # with stack trace
174
+ if FastlaneCore::Globals.verbose?
175
+ # with stack trace
163
176
  reraise_formatted!(e, message)
164
177
  else
165
- abort "\n[!] #{message}".red # without stack trace
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 necessarly negative, but something the user should
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
@@ -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
@@ -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='#{config[:test_target_name]}'" if config[: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.beta.20170214010051
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
- - pilot/lib
1299
- - pem/lib
1300
- - spaceship/lib
1297
+ - cert/lib
1301
1298
  - credentials_manager/lib
1302
- - scan/lib
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: 1.3.1
1323
+ version: '0'
1325
1324
  requirements: []
1326
1325
  rubyforge_project:
1327
- rubygems_version: 2.4.5.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 %>