fastlane 1.25.0 → 1.25.1

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: d3dfcedf5ac0b272b5a1c08e2db5cc401152f748
4
- data.tar.gz: 9c552d89e71e93de66eb151e95d2cb1d31128da8
3
+ metadata.gz: 25bfd11d222373cfec33fe9af38642f5683e89c8
4
+ data.tar.gz: bccbfa52efc2954838e8e3335651fa7b998cc35e
5
5
  SHA512:
6
- metadata.gz: c2839d75b434b3f866be56449b9d4f579bb31ccf901d43aa238842d1e5665007d975067fd7eb5ffee2b93b9f316dccf01b0808644a1b3ed41033b9eec588c02f
7
- data.tar.gz: 76f073a6ed2428e1ca28b32d0e389825f4e471ca2a1edc331197046614c1e111661c263a581ef7309d0cd65a1730006e5047a98a5bf34dfc296e72c109d7fd2e
6
+ metadata.gz: 9b8afd57ce3eedb2fc4b26542403ef95c31997b4e9ad27e7419c11b74122eff55434e78a2e51ab9f6c7cfe4cfce51bd6f3c4f3f838b7b93964536ee8939cd805
7
+ data.tar.gz: 56fbeca07c76fd8749018050e188131071b2201c31783a0843ba1c534a070bcb3919ef7e5cc175cca8c217b98b7d5cf9ba6e572e4613a5c816eb07158d2fb496
@@ -94,7 +94,7 @@ class FastlaneApplication
94
94
 
95
95
  ff = Fastlane::FastFile.new(File.join(Fastlane::FastlaneFolder.path || '.', 'Fastfile'))
96
96
 
97
- require 'fastlane/docs_generator'
97
+ require 'fastlane/documentation/docs_generator'
98
98
  Fastlane::DocsGenerator.run(path, ff)
99
99
  end
100
100
  end
@@ -106,7 +106,7 @@ class FastlaneApplication
106
106
  c.option '--platform STRING', String, 'Only show actions available on the given platform'
107
107
 
108
108
  c.action do |args, options|
109
- require 'fastlane/actions_list'
109
+ require 'fastlane/documentation/actions_list'
110
110
  Fastlane::ActionsList.run(filter: args.first, platform: options.platform)
111
111
  end
112
112
  end
@@ -115,7 +115,7 @@ class FastlaneApplication
115
115
  c.syntax = 'fastlane action [tool_name]'
116
116
  c.description = 'Shows more information for a specific command'
117
117
  c.action do |args, options|
118
- require 'fastlane/actions_list'
118
+ require 'fastlane/documentation/actions_list'
119
119
  Fastlane::ActionsList.run(filter: args.first)
120
120
  end
121
121
  end
@@ -61,6 +61,10 @@ module Fastlane
61
61
  ]
62
62
  end
63
63
 
64
+ def self.return_value
65
+ # If you method provides a return value, you can describe here what it does
66
+ end
67
+
64
68
  def self.authors
65
69
  # So no one will ever forget your contribution to fastlane :) You are awesome btw!
66
70
  ["Your GitHub/Twitter Name"]
@@ -32,6 +32,11 @@ module Fastlane
32
32
  nil
33
33
  end
34
34
 
35
+ def self.return_value
36
+ # Describes what this method returns
37
+ nil
38
+ end
39
+
35
40
  def self.author
36
41
  nil
37
42
  end
@@ -102,7 +102,8 @@ module Fastlane
102
102
  FastlaneCore::ConfigItem.new(key: :groups,
103
103
  env_name: "CRASHLYTICS_GROUPS",
104
104
  description: "The groups used for distribution",
105
- optional: true),
105
+ optional: true,
106
+ is_string: false),
106
107
  FastlaneCore::ConfigItem.new(key: :emails,
107
108
  env_name: "CRASHLYTICS_EMAILS",
108
109
  description: "Pass email addresses, separated by commas",
@@ -18,6 +18,8 @@ module Fastlane
18
18
  channel = options[:channel]
19
19
  color = (options[:success] ? 'green' : 'red')
20
20
 
21
+ from = options[:from]
22
+
21
23
  message = options[:message]
22
24
  if message_format == "html"
23
25
  message = "<table><tr><td><img src='https://s3-eu-west-1.amazonaws.com/fastlane.tools/fastlane.png' width='50' height='50'></td><td>#{message[0..9999]}</td></tr></table>"
@@ -29,7 +31,7 @@ module Fastlane
29
31
  raise 'HipChat private message not working with API V1 please use API V2 instead'.red
30
32
  else
31
33
  uri = URI.parse("https://#{api_host}/v1/rooms/message")
32
- response = Net::HTTP.post_form(uri, { 'from' => 'fastlane',
34
+ response = Net::HTTP.post_form(uri, { 'from' => from,
33
35
  'auth_token' => api_token,
34
36
  'color' => color,
35
37
  'message_format' => message_format,
@@ -55,7 +57,7 @@ module Fastlane
55
57
  check_response_code(response, channel)
56
58
  else
57
59
  uri = URI.parse("https://#{api_host}/v2/room/#{channel}/notification")
58
- response = Net::HTTP.post_form(uri, { 'from' => 'fastlane',
60
+ response = Net::HTTP.post_form(uri, { 'from' => from,
59
61
  'auth_token' => api_token,
60
62
  'color' => color,
61
63
  'message_format' => message_format,
@@ -142,7 +144,12 @@ module Fastlane
142
144
  Helper.log.fatal "Please specify the message format as either 'html' or 'text'.".red
143
145
  raise 'Unrecognized message_format.'.red
144
146
  end
145
- end)
147
+ end),
148
+ FastlaneCore::ConfigItem.new(key: :from,
149
+ env_name: "FL_HIPCHAT_FROM",
150
+ description: "Name the message will appear be sent from",
151
+ default_value: "fastlane",
152
+ optional: true)
146
153
  ]
147
154
  end
148
155
 
@@ -68,6 +68,7 @@ module Fastlane
68
68
  Actions.lane_context[SharedValues::VERSION_NUMBER] = next_version_number
69
69
  end
70
70
 
71
+ return Actions.lane_context[SharedValues::VERSION_NUMBER]
71
72
  rescue => ex
72
73
  Helper.log.error 'Make sure to to follow the steps to setup your Xcode project: https://developer.apple.com/library/ios/qa/qa1827/_index.html'.yellow
73
74
  raise ex
@@ -82,7 +83,7 @@ module Fastlane
82
83
  "This action will increment the version number. ",
83
84
  "You first have to set up your Xcode project, if you haven't done it already:",
84
85
  "https://developer.apple.com/library/ios/qa/qa1827/_index.html"
85
- ].join(' ')
86
+ ].join("\n")
86
87
  end
87
88
 
88
89
  def self.available_options
@@ -230,6 +230,13 @@ module Fastlane
230
230
  ]
231
231
  end
232
232
 
233
+ def self.return_value
234
+ [
235
+ "A hash containing all relevant information of this release",
236
+ "Access things like 'html_url', 'tag_name', 'name', 'body'"
237
+ ].join("\n")
238
+ end
239
+
233
240
  def self.authors
234
241
  ["czechboy0"]
235
242
  end
@@ -1,3 +1,5 @@
1
+ # rubocop:disable Metrics/AbcSize
2
+ # rubocop:disable Metrics/MethodLength
1
3
  module Fastlane
2
4
  class ActionsList
3
5
  def self.run(filter: nil, platform: nil)
@@ -75,6 +77,18 @@ module Fastlane
75
77
  headings: ['Key', 'Description', 'Env Var'],
76
78
  rows: options
77
79
  )
80
+ required_count = action.available_options.count do |o|
81
+ if o.kind_of?(FastlaneCore::ConfigItem)
82
+ o.optional == false
83
+ else
84
+ false
85
+ end
86
+ end
87
+
88
+ if required_count > 0
89
+ puts "#{required_count} of the available parameters are required".magenta
90
+ puts "They are marked using an asterix *".magenta
91
+ end
78
92
  else
79
93
  puts "No available options".yellow
80
94
  end
@@ -91,6 +105,15 @@ module Fastlane
91
105
  puts ""
92
106
  end
93
107
 
108
+ if action.return_value
109
+ puts Terminal::Table.new(
110
+ title: "Return Value".green,
111
+ headings: [],
112
+ rows: [[action.return_value]]
113
+ )
114
+ puts ""
115
+ end
116
+
94
117
  puts "More information can be found on https://github.com/KrauseFx/fastlane/blob/master/docs/Actions.md"
95
118
  puts "\n"
96
119
 
@@ -123,8 +146,13 @@ module Fastlane
123
146
  if options.kind_of? Array
124
147
  options.each do |current|
125
148
  if current.kind_of? FastlaneCore::ConfigItem
126
- rows << [current.key.to_s.yellow, current.description, current.env_name]
149
+ key_name = (current.optional ? "" : "* ") + current.key.to_s
150
+ description = current.description + (current.default_value ? " (default: '#{current.default_value}')" : "")
151
+
152
+ rows << [key_name.yellow, description, current.env_name]
153
+
127
154
  elsif current.kind_of? Array
155
+ # Legacy actions that don't use the new config manager
128
156
  raise "Invalid number of elements in this row: #{current}. Must be 2 or 3".red unless [2, 3].include? current.count
129
157
  rows << current
130
158
  rows.last[0] = rows.last.first.yellow # color it yellow :)
@@ -137,3 +165,5 @@ module Fastlane
137
165
  end
138
166
  end
139
167
  end
168
+ # rubocop:enable Metrics/AbcSize
169
+ # rubocop:enable Metrics/MethodLength
@@ -21,24 +21,19 @@ module Fastlane
21
21
  if Helper.test?
22
22
  result << command # only for the tests
23
23
  else
24
- begin
25
- PTY.spawn(command) do |r, w, pid|
26
- begin
27
- r.each_line do |line|
28
- Helper.log.info ['[SHELL]', line.strip].join(': ')
29
- result << line
30
- end
31
- rescue Errno::EIO
32
- end
33
- Process.wait(pid)
24
+ exit_status = nil
25
+ IO.popen(command, err: [:child, :out]) do |io|
26
+ io.each do |line|
27
+ Helper.log.info ['[SHELL]', line.strip].join(': ')
28
+ result << line
34
29
  end
35
- exit_status = $?.to_i
36
- rescue PTY::ChildExited => e
37
- exit_status = e.status.to_i
30
+ io.close
31
+ exit_status = $?.exitstatus
38
32
  end
39
33
 
40
34
  if exit_status != 0
41
- raise "Exit status of command '#{command}' was #{exit_status} instead of 0.\n#{result}"
35
+ # this will also append the output to the exception
36
+ raise "Exit status of command '#{command}' was #{exit_status} instead of 0. \n#{result}"
42
37
  end
43
38
  end
44
39
 
@@ -1,3 +1,3 @@
1
1
  module Fastlane
2
- VERSION = '1.25.0'
2
+ VERSION = '1.25.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.25.0
4
+ version: 1.25.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-08 00:00:00.000000000 Z
11
+ date: 2015-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -672,12 +672,12 @@ files:
672
672
  - lib/fastlane/actions/xcode_server_get_assets.rb
673
673
  - lib/fastlane/actions/xcodebuild.rb
674
674
  - lib/fastlane/actions/xctool.rb
675
- - lib/fastlane/actions_list.rb
676
675
  - lib/fastlane/command_line_handler.rb
677
676
  - lib/fastlane/configuration_helper.rb
678
677
  - lib/fastlane/core_ext/string.rb
679
678
  - lib/fastlane/dependency_checker.rb
680
- - lib/fastlane/docs_generator.rb
679
+ - lib/fastlane/documentation/actions_list.rb
680
+ - lib/fastlane/documentation/docs_generator.rb
681
681
  - lib/fastlane/erb_template_helper.rb
682
682
  - lib/fastlane/fast_file.rb
683
683
  - lib/fastlane/fastlane_folder.rb
@@ -712,7 +712,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
712
712
  version: '0'
713
713
  requirements: []
714
714
  rubyforge_project:
715
- rubygems_version: 2.4.6
715
+ rubygems_version: 2.4.5
716
716
  signing_key:
717
717
  specification_version: 4
718
718
  summary: Connect all iOS deployment tools into one streamlined workflow