fastlane 0.13.0 → 1.0.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: 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