fastlane_core 0.37.0 → 0.38.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: 69d9a797fc7e20a98839ae7e0296d7215f95e08c
4
- data.tar.gz: de39a88d7fd8c42a6d1988c291376d5eba49603f
3
+ metadata.gz: fd90b6bcd3c31ba350d8f5c98f1f124b69658a2f
4
+ data.tar.gz: 0989522b062f11d611db247372027624e56773f8
5
5
  SHA512:
6
- metadata.gz: 44ece7894fb065c92ab2909d63d53760bb00386da1e836eeaa2ca74200363aa57170f5ba6790dbbe9d0cad4e7721426706e0a06728937e5c706daf6eba402ed9
7
- data.tar.gz: 73a778016cf3e8dcb98a9bd4360c7b1a2b7891f1824718fca1c79d8fd08fdf92d269333b1c80791c2cc3db4c03ef2a7e1994487d47e1bd9df4f3ddff0b409ca1
6
+ metadata.gz: 4c5170391b985a73e8c2e63e6d6a71fe9844ca26a1643bdc3deb5b355702d136e287902dcfd5fa2a986973ac77c012453308c4632468eb4c836ffb5e7b057fea
7
+ data.tar.gz: 224ccc27980a142b2104b9c5d2faf8c2ec3283ef3a01aaf6403c495f0d4717d38b46f4321328ba319e01014eb3b11b3947c9cc9c6087cb6bfebceba09254ed35
data/README.md CHANGED
@@ -1,24 +1,24 @@
1
1
  <h3 align="center">
2
- <a href="https://github.com/fastlane/fastlane">
3
- <img src="assets/fastlane.png" width="150" />
2
+ <a href="https://github.com/fastlane/fastlane/tree/master/fastlane">
3
+ <img src="../fastlane/assets/fastlane.png" width="150" />
4
4
  <br />
5
5
  fastlane
6
6
  </a>
7
7
  </h3>
8
8
  <p align="center">
9
- <a href="https://github.com/fastlane/deliver">deliver</a> &bull;
10
- <a href="https://github.com/fastlane/snapshot">snapshot</a> &bull;
11
- <a href="https://github.com/fastlane/frameit">frameit</a> &bull;
12
- <a href="https://github.com/fastlane/pem">pem</a> &bull;
13
- <a href="https://github.com/fastlane/sigh">sigh</a> &bull;
14
- <a href="https://github.com/fastlane/produce">produce</a> &bull;
15
- <a href="https://github.com/fastlane/cert">cert</a> &bull;
16
- <a href="https://github.com/fastlane/spaceship">spaceship</a> &bull;
17
- <a href="https://github.com/fastlane/pilot">pilot</a> &bull;
9
+ <a href="https://github.com/fastlane/fastlane/tree/master/deliver">deliver</a> &bull;
10
+ <a href="https://github.com/fastlane/fastlane/tree/master/snapshot">snapshot</a> &bull;
11
+ <a href="https://github.com/fastlane/fastlane/tree/master/frameit">frameit</a> &bull;
12
+ <a href="https://github.com/fastlane/fastlane/tree/master/pem">pem</a> &bull;
13
+ <a href="https://github.com/fastlane/fastlane/tree/master/sigh">sigh</a> &bull;
14
+ <a href="https://github.com/fastlane/fastlane/tree/master/produce">produce</a> &bull;
15
+ <a href="https://github.com/fastlane/fastlane/tree/master/cert">cert</a> &bull;
16
+ <a href="https://github.com/fastlane/fastlane/tree/master/spaceship">spaceship</a> &bull;
17
+ <a href="https://github.com/fastlane/fastlane/tree/master/pilot">pilot</a> &bull;
18
18
  <a href="https://github.com/fastlane/boarding">boarding</a> &bull;
19
- <a href="https://github.com/fastlane/gym">gym</a> &bull;
20
- <a href="https://github.com/fastlane/scan">scan</a> &bull;
21
- <a href="https://github.com/fastlane/match">match</a>
19
+ <a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> &bull;
20
+ <a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> &bull;
21
+ <a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
22
22
  </p>
23
23
  -------
24
24
 
@@ -26,9 +26,9 @@ FastlaneCore
26
26
  ============
27
27
 
28
28
  [![Twitter: @FastlaneTools](https://img.shields.io/badge/contact-@FastlaneTools-blue.svg?style=flat)](https://twitter.com/FastlaneTools)
29
- [![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane_core/blob/master/LICENSE)
29
+ [![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/fastlane_core/LICENSE)
30
30
  [![Gem](https://img.shields.io/gem/v/fastlane_core.svg?style=flat)](http://rubygems.org/gems/fastlane_core)
31
- [![Build Status](https://img.shields.io/travis/fastlane/fastlane_core/master.svg?style=flat)](https://travis-ci.org/fastlane/fastlane_core)
31
+ [![Build Status](https://img.shields.io/circleci/project/fastlane/fastlane/master.svg?style=flat)](https://circleci.com/gh/fastlane/fastlane)
32
32
 
33
33
  All shared code of the fastlane tools is stored in this repository.
34
34
 
@@ -47,7 +47,7 @@ This gem contains all shared classes and code:
47
47
  You can hide the inline changelog by setting the `FASTLANE_HIDE_CHANGELOG` environment variable
48
48
 
49
49
  # Code of Conduct
50
- Help us keep `fastlane` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/code-of-conduct).
50
+ Help us keep `fastlane` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
51
51
 
52
52
  # License
53
53
  This project is licensed under the terms of the MIT license. See the LICENSE file.
@@ -11,11 +11,9 @@ module FastlaneCore
11
11
  end
12
12
 
13
13
  # Legacy Method, use `installed?` instead
14
- # rubocop:disable Style/PredicateName
15
14
  def self.is_installed?(path)
16
15
  installed?(path)
17
16
  end
18
- # rubocop:enable Style/PredicateName
19
17
 
20
18
  def self.installed_identies
21
19
  install_wwdr_certificate unless wwdr_certificate_installed?
@@ -44,24 +44,27 @@ module FastlaneCore
44
44
 
45
45
  begin
46
46
  PTY.spawn(command) do |stdin, stdout, pid|
47
- stdin.each do |l|
48
- line = l.strip # strip so that \n gets removed
49
- output << line
47
+ begin
48
+ stdin.each do |l|
49
+ line = l.strip # strip so that \n gets removed
50
+ output << line
50
51
 
51
- next unless print_all
52
+ next unless print_all
52
53
 
53
- # Prefix the current line with a string
54
- prefix.each do |element|
55
- line = element[:prefix] + line if element[:block] && element[:block].call(line)
56
- end
54
+ # Prefix the current line with a string
55
+ prefix.each do |element|
56
+ line = element[:prefix] + line if element[:block] && element[:block].call(line)
57
+ end
57
58
 
58
- UI.command_output(line)
59
+ UI.command_output(line)
60
+ end
61
+ rescue Errno::EIO
62
+ # This is expected on some linux systems, that indicates that the subcommand finished
63
+ # and we kept trying to read, ignore ix
64
+ ensure
65
+ Process.wait(pid)
59
66
  end
60
- Process.wait(pid)
61
67
  end
62
- rescue Errno::EIO
63
- # This is expected on some linux systems, that indicates that the subcommand finished
64
- # and we kept trying to read, ignore it
65
68
  rescue => ex
66
69
  # This could happen when the environment is wrong:
67
70
  # > invalid byte sequence in US-ASCII (ArgumentError)
@@ -51,12 +51,19 @@ module FastlaneCore
51
51
  description = option.description
52
52
  description += " (#{option.env_name})" unless option.env_name.to_s.empty?
53
53
 
54
- # This is the sole call to Commander to set up the option we've been building.
54
+ # We compact this array here to remove the short_switch variable if it is nil.
55
+ # Passing a nil value to global_option has been shown to create problems with
56
+ # option parsing!
57
+ #
58
+ # See: https://github.com/fastlane/fastlane/tree/master/fastlane_core
55
59
  #
56
60
  # If we don't have a data type for this option, we tell it to act like a String.
57
61
  # This allows us to get a reasonable value for boolean options that can be
58
62
  # automatically coerced or otherwise handled by the ConfigItem for others.
59
- global_option(short_switch, long_switch, (type || String), description)
63
+ args = [short_switch, long_switch, (type || String), description].compact
64
+
65
+ # This is the call to Commander to set up the option we've been building.
66
+ global_option(*args)
60
67
  end
61
68
  end
62
69
 
@@ -36,7 +36,7 @@ module FastlaneCore
36
36
  return unless self.config._values[method_sym].to_s.empty?
37
37
 
38
38
  value = arguments.first
39
- value = block.call if value.nil? && block_given?
39
+ value = yield if value.nil? && block_given?
40
40
 
41
41
  self.config[method_sym] = value unless value.nil?
42
42
  else
@@ -73,7 +73,6 @@ module FastlaneCore
73
73
  end
74
74
 
75
75
  # Use Helper.test? and Helper.ci? instead (legacy calls)
76
- # rubocop:disable Style/PredicateName
77
76
  def self.is_test?
78
77
  self.test?
79
78
  end
@@ -85,7 +84,6 @@ module FastlaneCore
85
84
  def self.is_mac?
86
85
  self.mac?
87
86
  end
88
- # rubocop:enable Style/PredicateName
89
87
 
90
88
  # Do we want to disable the colored output?
91
89
  def self.colors_disabled?
@@ -14,7 +14,7 @@ module FastlaneCore
14
14
  workspace = Dir["./*.xcworkspace"]
15
15
  if workspace.count > 1
16
16
  puts "Select Workspace: "
17
- config[:workspace] = choose(*(workspace))
17
+ config[:workspace] = choose(*workspace)
18
18
  elsif !workspace.first.nil?
19
19
  config[:workspace] = workspace.first
20
20
  end
@@ -26,7 +26,7 @@ module FastlaneCore
26
26
  project = Dir["./*.xcodeproj"]
27
27
  if project.count > 1
28
28
  puts "Select Project: "
29
- config[:project] = choose(*(project))
29
+ config[:project] = choose(*project)
30
30
  elsif !project.first.nil?
31
31
  config[:project] = project.first
32
32
  end
@@ -126,7 +126,7 @@ module FastlaneCore
126
126
  raise "Multiple schemes found".red
127
127
  else
128
128
  puts "Select Scheme: "
129
- options[:scheme] = choose(*(schemes))
129
+ options[:scheme] = choose(*schemes)
130
130
  end
131
131
  else
132
132
  Helper.log.error "Couldn't find any schemes in this project, make sure that the scheme is shared if you are using a workspace".red
@@ -24,8 +24,8 @@ module FastlaneCore
24
24
  end
25
25
 
26
26
  output.split(/\n/).each do |line|
27
- next if line.match(/^== /)
28
- if line.match(/^-- /)
27
+ next if line =~ /^== /
28
+ if line =~ /^-- /
29
29
  (os_type, os_version) = line.gsub(/-- (.*) --/, '\1').split
30
30
  else
31
31
  # iPad 2 (0EDE6AFC-3767-425A-9658-AAA30A60F212) (Shutdown)
@@ -36,18 +36,41 @@ module Commander
36
36
  OptionParser::MissingArgument => e
37
37
  abort e.to_s
38
38
  rescue FastlaneCore::Interface::FastlaneError => e # user_error!
39
- error_message = "\n[!] #{e}".red
40
- if $verbose # with stack trace
41
- raise e, "[!] #{e.message}".red, e.backtrace
42
- else
43
- abort error_message # without stack trace
44
- end
39
+ display_user_error!(e, e.message)
45
40
  rescue => e # high chance this is actually FastlaneCore::Interface::FastlaneCrash, but can be anything else
41
+ handle_unknown_error!(e)
42
+ end
43
+ end
44
+
45
+ def handle_unknown_error!(e)
46
+ # Some spaceship exception classes implement #preferred_error_info in order to share error info
47
+ # that we'd rather display instead of crashing with a stack trace. However, fastlane_core and
48
+ # spaceship can not know about each other's classes! To make this information passing work, we
49
+ # use a bit of Ruby duck-typing to check whether the unknown exception type implements the right
50
+ # method. If so, we'll present any returned error info in the manner of a user_error!
51
+ error_info = e.respond_to?(:preferred_error_info) ? e.preferred_error_info : nil
52
+
53
+ if error_info
54
+ error_info = error_info.join("\n\t") if error_info.kind_of?(Array)
55
+ display_user_error!(e, error_info)
56
+ else
46
57
  FastlaneCore::CrashReporting.handle_crash(e)
47
58
  # From https://stackoverflow.com/a/4789702/445598
48
59
  # We do this to make the actual error message red and therefore more visible
49
- raise e, "[!] #{e.message}".red, e.backtrace
60
+ reraise_formatted!(e, e.message)
50
61
  end
51
62
  end
63
+
64
+ def display_user_error!(e, message)
65
+ if $verbose # with stack trace
66
+ reraise_formatted!(e, message)
67
+ else
68
+ abort "\n[!] #{message}".red # without stack trace
69
+ end
70
+ end
71
+
72
+ def reraise_formatted!(e, message)
73
+ raise e, "[!] #{message}".red, e.backtrace
74
+ end
52
75
  end
53
76
  end
@@ -93,7 +93,7 @@ module FastlaneCore
93
93
  verify_interactive!(message)
94
94
 
95
95
  important(message)
96
- choose(*(options))
96
+ choose(*options)
97
97
  end
98
98
 
99
99
  def password(message)
@@ -1,3 +1,3 @@
1
1
  module FastlaneCore
2
- VERSION = "0.37.0".freeze
2
+ VERSION = "0.38.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.37.0
4
+ version: 0.38.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-01 00:00:00.000000000 Z
11
+ date: 2016-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -302,14 +302,14 @@ dependencies:
302
302
  requirements:
303
303
  - - "~>"
304
304
  - !ruby/object:Gem::Version
305
- version: 0.35.1
305
+ version: 0.38.0
306
306
  type: :development
307
307
  prerelease: false
308
308
  version_requirements: !ruby/object:Gem::Requirement
309
309
  requirements:
310
310
  - - "~>"
311
311
  - !ruby/object:Gem::Version
312
- version: 0.35.1
312
+ version: 0.38.0
313
313
  - !ruby/object:Gem::Dependency
314
314
  name: danger
315
315
  requirement: !ruby/object:Gem::Requirement
@@ -385,7 +385,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
385
385
  version: '0'
386
386
  requirements: []
387
387
  rubyforge_project:
388
- rubygems_version: 2.2.2
388
+ rubygems_version: 2.4.5.1
389
389
  signing_key:
390
390
  specification_version: 4
391
391
  summary: Contains all shared code/dependencies of the fastlane.tools