fastlane 0.13.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 04f9afecbb2d0f127fdf68aed5ed8c709b6f18ac
4
- data.tar.gz: 56c055566f8a26614aa03e99e821af9c59f84118
3
+ metadata.gz: f9a7aab25062916851a13d92b840da16aee451eb
4
+ data.tar.gz: 86a96f3e9773b64d41eb736f324b6ec956c40ce8
5
5
  SHA512:
6
- metadata.gz: f9ae1ffbc79c9a47db01995bb3578b2c0effb0a46323408bd96d807939776af5f6369d880ab423e6c65a17f644642ff61c6e2684356578be763a7effcafdc063
7
- data.tar.gz: d9b67f2efbb548d477388425d95a9ed328fa28659e2450efd049e3c13e4201a59cca136b5f1dcddf5e6ba8b6b20967ef981d9961df8e4380abbdf26383d7a38e
6
+ metadata.gz: 0d62e6968031c18f2cbddb8562051937665d4aae4c3f38731a8d4797a1fdbfce56e3a9bd13ec3f4423df48b6380ecc0f718f1a06fd81e0654ca0da562284f028
7
+ data.tar.gz: 52fa58663e1f24b8dadebac97f08e4a71de7f6f1423a090a587053cb8750bb6bb0c502cfd71ac6b0d870cc93fe472ecb0f54a209d0f4d500b4579d0d88440770
@@ -17,7 +17,7 @@ class FastlaneApplication
17
17
  program :help, 'Author', 'Felix Krause <fastlane@krausefx.com>'
18
18
  program :help, 'Website', 'https://fastlane.tools'
19
19
  program :help, 'GitHub', 'https://github.com/krausefx/fastlane'
20
- # program :help_formatter, :compact # https://github.com/commander-rb/commander/issues/12
20
+ program :help_formatter, :compact
21
21
 
22
22
  always_trace!
23
23
 
@@ -63,17 +63,17 @@ platform :ios do
63
63
  after_all do |lane|
64
64
  # This block is called, only if the executed lane was successful
65
65
 
66
- # slack({
66
+ # slack(
67
67
  # message: "Successfully deployed new App Update."
68
- # })
68
+ # )
69
69
  end
70
70
 
71
71
 
72
72
  error do |lane, exception|
73
- # slack({
73
+ # slack(
74
74
  # message: exception.message,
75
75
  # success: false
76
- # })
76
+ # )
77
77
  end
78
78
 
79
79
  end
@@ -3,12 +3,16 @@ module Fastlane
3
3
  HOST_URL = "https://fastlane-enhancer.herokuapp.com/"
4
4
 
5
5
  def did_launch_action(name)
6
- launches[name] ||= 0
7
- launches[name] += 1
6
+ if is_official(name)
7
+ launches[name] ||= 0
8
+ launches[name] += 1
9
+ end
8
10
  end
9
11
 
10
12
  def did_raise_error(name)
11
- @error = name
13
+ if is_official(name)
14
+ @error = name
15
+ end
12
16
  end
13
17
 
14
18
  # Sends the used actions
@@ -16,25 +20,28 @@ module Fastlane
16
20
  def did_finish
17
21
  Thread.new do
18
22
  unless ENV["FASTLANE_OPT_OUT_USAGE"]
19
-
20
- unless did_show_message?
21
- Helper.log.debug("Sending Crash/Success information. More information on: https://github.com/fastlane/enhancer")
22
- Helper.log.debug("No personal/sensitive data is sent. Only sharing the following:")
23
- Helper.log.debug(launches)
24
- Helper.log.debug(@error) if @error
25
- Helper.log.debug("This information is used to fix failing actions and improve integrations that are often used.")
26
- Helper.log.debug("You can disable this by adding `opt_out_usage` to your Fastfile")
27
- end
23
+ begin
24
+ unless did_show_message?
25
+ Helper.log.debug("Sending Crash/Success information. More information on: https://github.com/fastlane/enhancer")
26
+ Helper.log.debug("No personal/sensitive data is sent. Only sharing the following:")
27
+ Helper.log.debug(launches)
28
+ Helper.log.debug(@error) if @error
29
+ Helper.log.debug("This information is used to fix failing actions and improve integrations that are often used.")
30
+ Helper.log.debug("You can disable this by adding `opt_out_usage` to your Fastfile")
31
+ end
28
32
 
29
- require 'excon'
30
- url = HOST_URL + '/did_launch?'
31
- url += URI.encode_www_form(
32
- steps: launches.to_json,
33
- error: @error
34
- )
33
+ require 'excon'
34
+ url = HOST_URL + '/did_launch?'
35
+ url += URI.encode_www_form(
36
+ steps: launches.to_json,
37
+ error: @error
38
+ )
35
39
 
36
- unless Helper.is_test? # don't send test data
37
- Excon.post(url)
40
+ unless Helper.is_test? # don't send test data
41
+ Excon.post(url)
42
+ end
43
+ rescue
44
+ # We don't care about connection errors
38
45
  end
39
46
  end
40
47
  end
@@ -44,9 +51,13 @@ module Fastlane
44
51
  @launches ||= {}
45
52
  end
46
53
 
54
+ def is_official(name)
55
+ Actions.get_all_official_actions.include?name
56
+ end
57
+
47
58
  def did_show_message?
48
59
  path = File.join(File.expand_path('~'), '.did_show_opt_info')
49
-
60
+
50
61
  did_show = File.exists?path
51
62
  File.write(path, '1')
52
63
  did_show
@@ -89,7 +89,14 @@ module Fastlane
89
89
  s = `git rev-parse --abbrev-ref HEAD`
90
90
  return s.to_s.strip if s.to_s.length > 0
91
91
  nil
92
- end
92
+ end
93
+
94
+ # returns a list of official integrations
95
+ def self.get_all_official_actions
96
+ Dir[File.expand_path '*.rb', File.dirname(__FILE__)].collect do |file|
97
+ File.basename(file).gsub('.rb', '').to_sym
98
+ end
99
+ end
93
100
 
94
101
  def self.load_default_actions
95
102
  Dir[File.expand_path '*.rb', File.dirname(__FILE__)].each do |file|
@@ -8,7 +8,7 @@ module Fastlane
8
8
  tag = options[:tag] || "#{options[:grouping]}/#{lane_name}/#{options[:prefix]}#{options[:build_number].to_s}"
9
9
 
10
10
  Helper.log.info "Adding git tag '#{tag}' 🎯."
11
- Actions.sh("git tag #{tag}")
11
+ Actions.sh("git tag \"#{tag}\"")
12
12
  end
13
13
 
14
14
  def self.description
@@ -100,7 +100,19 @@ module Fastlane
100
100
  FastlaneCore::ConfigItem.new(key: :release_type,
101
101
  env_name: "FL_HOCKEY_RELEASE_TYPE",
102
102
  description: "Release type of the app",
103
- default_value: "0")
103
+ default_value: "0"),
104
+ FastlaneCore::ConfigItem.new(key: :mandatory,
105
+ env_name: "FL_HOCKEY_MANDATORY",
106
+ description: "Set to 1 to make this update mandatory",
107
+ default_value: "0"),
108
+ FastlaneCore::ConfigItem.new(key: :teams,
109
+ env_name: "FL_HOCKEY_TEAMS",
110
+ description: "Comma separated list of team ID numbers to which this build will be restricted",
111
+ optional: true),
112
+ FastlaneCore::ConfigItem.new(key: :tags,
113
+ env_name: "FL_HOCKEY_TAGS",
114
+ description: "Comma separated list of tags which will receive access to the build",
115
+ optional: true)
104
116
  ]
105
117
  end
106
118
 
@@ -12,18 +12,20 @@ module Fastlane
12
12
  output << "# Available Actions"
13
13
 
14
14
  all_keys = ff.runner.description_blocks.keys.reject(&:nil?)
15
- all_keys.unshift(nil) # because we want root elements on top.. always! They have key nil
15
+ all_keys.unshift(nil) # because we want root elements on top. always! They have key nil
16
16
 
17
17
  all_keys.each do |platform|
18
- output << "## #{platform}" if platform
18
+ output << "## #{formatted_platform(platform)}" if platform
19
19
 
20
20
  value = ff.runner.description_blocks[platform]
21
21
 
22
- value.each do |lane, description|
23
- output << render(platform, lane, description)
24
- end
22
+ if value
23
+ value.each do |lane, description|
24
+ output << render(platform, lane, description)
25
+ end
25
26
 
26
- output << "----"
27
+ output << "----"
28
+ end
27
29
  end
28
30
 
29
31
  output << "More information about fastlane can be found on [https://fastlane.tools](https://fastlane.tools)."
@@ -35,6 +37,14 @@ module Fastlane
35
37
 
36
38
  private
37
39
 
40
+ def self.formatted_platform(pl)
41
+ pl = pl.to_s
42
+ return "iOS" if pl == 'ios'
43
+ return "Mac" if pl == 'mac'
44
+
45
+ return pl
46
+ end
47
+
38
48
  def self.render(platform, lane, description)
39
49
  full_name = [platform, lane].reject(&:nil?).join(' ')
40
50
 
@@ -139,7 +139,7 @@ module Fastlane
139
139
  def is_platform_block?(key)
140
140
  raise 'No key given'.red unless key
141
141
 
142
- return false if self.runner.blocks[nil][key.to_sym]
142
+ return false if (self.runner.blocks[nil][key.to_sym] rescue false)
143
143
  return true if self.runner.blocks[key.to_sym].kind_of?Hash
144
144
 
145
145
  raise "Could not find '#{key}'. Available lanes: #{self.runner.available_lanes.join(', ')}".red
@@ -52,14 +52,9 @@ module Fastlane
52
52
  # Finished with all the lanes
53
53
  Fastlane::JUnitGenerator.generate(Fastlane::Actions.executed_actions)
54
54
 
55
+ thread.join(5) # https://github.com/KrauseFx/fastlane/issues/240
55
56
 
56
57
  unless error
57
- begin
58
- thread.join # to wait for the request to be finished
59
- rescue
60
- # We don't care about errors here
61
- # https://github.com/KrauseFx/fastlane/issues/240
62
- end
63
58
 
64
59
  if duration > 5
65
60
  Helper.log.info "fastlane.tools just saved you #{duration} minutes! 🎉".green
@@ -67,7 +62,6 @@ module Fastlane
67
62
  Helper.log.info 'fastlane.tools finished successfully 🎉'.green
68
63
  end
69
64
  else
70
- thread.join # to wait for the request to be finished
71
65
  Helper.log.fatal 'fastlane finished with errors'.red
72
66
  raise error
73
67
  end
@@ -87,7 +81,7 @@ module Fastlane
87
81
  i = $stdin.gets.strip.to_i - 1
88
82
  if i >= 0 and (available[i] rescue nil)
89
83
  selection = available[i]
90
- Helper.log.info "Driving the lane #{selection}. Next time launch fastlane using `fastlane #{selection}`".green
84
+ Helper.log.info "Driving the lane #{selection}. Next time launch fastlane using `fastlane #{selection}`".yellow
91
85
  platform = selection.split(' ')[0]
92
86
  lane_name = selection.split(' ')[1]
93
87
 
@@ -1,3 +1,3 @@
1
1
  module Fastlane
2
- VERSION = '0.13.0'
2
+ VERSION = '1.0.0'
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: 0.13.0
4
+ version: 1.0.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: 2015-05-03 00:00:00.000000000 Z
11
+ date: 2015-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '0.12'
33
+ version: 0.14.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '0.12'
40
+ version: 0.14.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: slack-notifier
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - '>='
144
144
  - !ruby/object:Gem::Version
145
- version: 0.7.1
145
+ version: 0.7.2
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '>='
151
151
  - !ruby/object:Gem::Version
152
- version: 0.7.1
152
+ version: 0.7.2
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: deliver
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - '>='
186
186
  - !ruby/object:Gem::Version
187
- version: 1.0.0
187
+ version: 1.0.1
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - '>='
193
193
  - !ruby/object:Gem::Version
194
- version: 1.0.0
194
+ version: 1.0.1
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: pem
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -212,42 +212,42 @@ dependencies:
212
212
  requirements:
213
213
  - - '>='
214
214
  - !ruby/object:Gem::Version
215
- version: 0.5.0
215
+ version: 0.5.1
216
216
  type: :runtime
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - '>='
221
221
  - !ruby/object:Gem::Version
222
- version: 0.5.0
222
+ version: 0.5.1
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: produce
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - '>='
228
228
  - !ruby/object:Gem::Version
229
- version: 0.2.0
229
+ version: 0.2.1
230
230
  type: :runtime
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - '>='
235
235
  - !ruby/object:Gem::Version
236
- version: 0.2.0
236
+ version: 0.2.1
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: cert
239
239
  requirement: !ruby/object:Gem::Requirement
240
240
  requirements:
241
241
  - - '>='
242
242
  - !ruby/object:Gem::Version
243
- version: 0.1.7
243
+ version: 0.2.0
244
244
  type: :runtime
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
248
  - - '>='
249
249
  - !ruby/object:Gem::Version
250
- version: 0.1.7
250
+ version: 0.2.0
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: bundler
253
253
  requirement: !ruby/object:Gem::Requirement