fastlane 1.13.1 → 1.14.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: 2e5b1616a83e160ef6bda549420b065608e01a00
4
- data.tar.gz: d0671779b4e0f594c588d6f0115dc3ec150cae80
3
+ metadata.gz: c87bbcf201fb11443eedd9d73437b944f674917b
4
+ data.tar.gz: bdc4b534d0d3f5c98214678ecf6f7ccd3ebf42b2
5
5
  SHA512:
6
- metadata.gz: ef927e134a7cd3f1e8fd3d8893b80108a1f8815a04efe33b9701878d2e73eee3e227f323fb44926281d2bdbd3ef3dabf758ac1c58dd875ab84018a753c75e8ec
7
- data.tar.gz: 7fda81bd26822855735e1560af1ae9c4384089ae236c7e4c3a70f9f798484df00ecf499ccc2510812971fdb5ea3e3de2a7b87e6cc485b2b84c1b2166c133dff5
6
+ metadata.gz: cd520940eca1463919bce6ee5f43b09deaf38f8e1a880203b460a35f75bc7c54f3c4dddabc323db11dc0c0181784268262236a5042879859b36c3c2a1d79c625
7
+ data.tar.gz: ff74ca81e2bd27cbf9927a2346028090a0c9bcefd9079b2d4000c8c4f936382cb0107c0cbb3731ca33c685a3328990638dc636c032c4afffa42e724d4635cd23
@@ -69,6 +69,10 @@ module Fastlane
69
69
  Actions.sh("git add #{git_add_paths.map(&:shellescape).join(' ')}")
70
70
 
71
71
  begin
72
+ build_number = lane_context[SharedValues::BUILD_NUMBER]
73
+
74
+ params[:message] ||= (build_number ? "Version Bump to #{build_number}" : "Version Bump")
75
+
72
76
  Actions.sh("git commit -m '#{params[:message]}'")
73
77
 
74
78
  Helper.log.info "Committed \"#{params[:message]}\" 💾.".green
@@ -86,7 +90,7 @@ module Fastlane
86
90
  FastlaneCore::ConfigItem.new(key: :message,
87
91
  env_name: "FL_COMMIT_BUMP_MESSAGE",
88
92
  description: "The commit message when committing the version bump",
89
- default_value: "Version Bump"),
93
+ optional: true),
90
94
  FastlaneCore::ConfigItem.new(key: :xcodeproj,
91
95
  env_name: "FL_BUILD_NUMBER_PROJECT",
92
96
  description: "The path to your project file (Not the workspace). If you have only one, this is optional",
@@ -1,4 +1,4 @@
1
- # TODO: Workaround, since crashlytics.rb from shenzhen includes the code for commander.
1
+ # Workaround, since crashlytics.rb from shenzhen includes the code for commander.
2
2
  def command(_param)
3
3
  end
4
4
 
@@ -1,4 +1,4 @@
1
- # TODO: Workaround, since deploygate.rb from shenzhen includes the code for commander
1
+ # Workaround, since deploygate.rb from shenzhen includes the code for commander
2
2
  def command(_param)
3
3
  end
4
4
 
@@ -0,0 +1,82 @@
1
+ module Fastlane
2
+ module Actions
3
+ class EnsureNoDebugCodeAction < Action
4
+ def self.run(params)
5
+ command = "grep -R '#{params[:text]}' '#{File.absolute_path(params[:path])}'"
6
+ return command if Helper.is_test?
7
+
8
+ Helper.log.info command.yellow
9
+ results = `#{command}` # we don't use `sh` as the return code of grep is wrong for some reason
10
+
11
+ # Example Output
12
+ # ./fastlane.gemspec: spec.add_development_dependency 'my_word'
13
+ # ./Gemfile.lock: my_word (0.10.1)
14
+
15
+ found = []
16
+ results.split("\n").each do |current_raw|
17
+ current = current_raw.strip
18
+ if params[:extension]
19
+ if current.include?".#{params[:extension]}:"
20
+ found << current
21
+ end
22
+ else
23
+ found << current
24
+ end
25
+ end
26
+
27
+ raise "Found debug code '#{params[:text]}': \n\n#{found.join("\n")}" if found.count > 0
28
+ Helper.log.info "No debug code found in code base 🐛"
29
+ end
30
+
31
+ #####################################################
32
+ # @!group Documentation
33
+ #####################################################
34
+
35
+ def self.description
36
+ "Ensures the given text is nowhere in the code base"
37
+ end
38
+
39
+ def self.details
40
+ [
41
+ "Makes sure the given text is nowhere in the code base. This can be used",
42
+ "to check if there is any debug code still in your code base or if you have",
43
+ "things like // TO DO or similar"
44
+ ].join("\n")
45
+ end
46
+
47
+ def self.available_options
48
+ [
49
+ FastlaneCore::ConfigItem.new(key: :text,
50
+ env_name: "FL_ENSURE_NO_DEBUG_CODE_TEXT",
51
+ description: "The text that must not be in the code base"),
52
+ FastlaneCore::ConfigItem.new(key: :path,
53
+ env_name: "FL_ENSURE_NO_DEBUG_CODE_PATH",
54
+ description: "The directory containing all the source files",
55
+ default_value: ".",
56
+ verify_block: Proc.new do |value|
57
+ raise "Couldn't find the folder at '#{File.absolute_path(value)}'".red unless File.directory?(value)
58
+ end),
59
+ FastlaneCore::ConfigItem.new(key: :extension,
60
+ env_name: "FL_ENSURE_NO_DEBUG_CODE_EXTENSION",
61
+ description: "The extension that should be searched for",
62
+ optional: true,
63
+ verify_block: Proc.new do |value|
64
+ value.gsub!(".", "") if value.include?"."
65
+ end),
66
+ ]
67
+ end
68
+
69
+ def self.output
70
+ []
71
+ end
72
+
73
+ def self.authors
74
+ ["KrauseFx"]
75
+ end
76
+
77
+ def self.is_supported?(platform)
78
+ true
79
+ end
80
+ end
81
+ end
82
+ end
@@ -22,7 +22,7 @@ module Fastlane
22
22
  end
23
23
 
24
24
  def self.author
25
- "lmirosevic"
25
+ "KrauseFx"
26
26
  end
27
27
 
28
28
  def self.is_supported?(platform)
@@ -1,4 +1,4 @@
1
- # TODO: Workaround, since hockeyapp.rb from shenzhen includes the code for commander
1
+ # Workaround, since hockeyapp.rb from shenzhen includes the code for commander
2
2
  def command(_param)
3
3
  end
4
4
 
@@ -2,19 +2,63 @@ module Fastlane
2
2
  module Actions
3
3
  class CarthageAction < Action
4
4
  def self.run(params)
5
- Actions.sh('carthage bootstrap')
5
+
6
+ cmd = ["carthage bootstrap"]
7
+
8
+ cmd << "--use-ssh" if params[:use_ssh]
9
+ cmd << "--use-submodules" if params[:use_submodules]
10
+ cmd << "--no-use-binaries" if params[:use_binaries] == false
11
+ cmd << "--platform #{params[:platform]}" if params[:platform]
12
+
13
+ Actions.sh(cmd.join(' '))
6
14
  end
7
15
 
8
16
  def self.description
9
17
  "Runs `carthage bootstrap` for your project"
10
18
  end
11
19
 
12
- def self.author
13
- "bassrock"
20
+ def self.available_options
21
+ [
22
+ FastlaneCore::ConfigItem.new(key: :use_ssh,
23
+ env_name: "FL_CARTHAGE_USE_SSH",
24
+ description: "Use SSH for downloading GitHub repositories",
25
+ is_string: false,
26
+ optional: true,
27
+ verify_block: Proc.new do |value|
28
+ raise "Please pass a valid value for use_ssh. Use one of the following: true, false" unless value.is_a?(TrueClass) || value.is_a?(FalseClass)
29
+ end),
30
+ FastlaneCore::ConfigItem.new(key: :use_submodules,
31
+ env_name: "FL_CARTHAGE_USE_SUBMODULES",
32
+ description: "Add dependencies as Git submodules",
33
+ is_string: false,
34
+ optional: true,
35
+ verify_block: Proc.new do |value|
36
+ raise "Please pass a valid value for use_submodules. Use one of the following: true, false" unless value.is_a?(TrueClass) || value.is_a?(FalseClass)
37
+ end),
38
+ FastlaneCore::ConfigItem.new(key: :use_binaries,
39
+ env_name: "FL_CARTHAGE_USE_BINARIES",
40
+ description: "Check out dependency repositories even when prebuilt frameworks exist",
41
+ is_string: false,
42
+ optional: true,
43
+ verify_block: Proc.new do |value|
44
+ raise "Please pass a valid value for use_binaries. Use one of the following: true, false" unless value.is_a?(TrueClass) || value.is_a?(FalseClass)
45
+ end),
46
+ FastlaneCore::ConfigItem.new(key: :platform,
47
+ env_name: "FL_CARTHAGE_PLATFORM",
48
+ description: "Define which platform to build for",
49
+ optional: true,
50
+ verify_block: Proc.new do |value|
51
+ raise "Please pass a valid platform. Use one of the following: all, iOS, Mac, watchOS" unless ["all", "iOS", "Mac", "watchOS"].include?value
52
+ end),
53
+ ]
14
54
  end
15
55
 
16
56
  def self.is_supported?(platform)
17
- platform == :ios
57
+ [:ios, :mac].include?platform
58
+ end
59
+
60
+ def self.authors
61
+ ["bassrock", "petester42"]
18
62
  end
19
63
  end
20
64
  end
@@ -120,8 +120,14 @@ module Fastlane
120
120
 
121
121
  #grabs module
122
122
  eth = Fastlane::ErbTemplateHelper
123
+
123
124
  # Creates plist from template
124
- plist_render = eth.render(eth.load("s3_plist_template"),{
125
+ if plist_template_path && File.exists?(plist_template_path)
126
+ plist_template = eth.load_from_path(plist_template_path)
127
+ else
128
+ plist_template = eth.load("s3_plist_template")
129
+ end
130
+ plist_render = eth.render(plist_template,{
125
131
  url: ipa_url,
126
132
  bundle_id: bundle_id,
127
133
  bundle_version: bundle_version,
@@ -129,16 +135,25 @@ module Fastlane
129
135
  })
130
136
 
131
137
  # Creates html from template
132
- html_render = eth.render(eth.load("s3_html_template"),{
138
+ if html_template_path && File.exists?(html_template_path)
139
+ html_template = eth.load_from_path(html_template_path)
140
+ else
141
+ html_template = eth.load("s3_html_template")
142
+ end
143
+ html_render = eth.render(html_template,{
133
144
  url: plist_url,
134
145
  bundle_id: bundle_id,
135
146
  bundle_version: bundle_version,
136
147
  title: title
137
148
  })
138
149
 
139
-
140
150
  # Creates version from template
141
- version_render = eth.render(eth.load("s3_version_template"),{
151
+ if version_template_path && File.exists?(version_template_path)
152
+ version_template = eth.load_from_path(version_template_path)
153
+ else
154
+ version_template = eth.load("s3_version_template")
155
+ end
156
+ version_render = eth.render(version_template,{
142
157
  url: plist_url,
143
158
  full_version: full_version
144
159
  })
@@ -48,7 +48,7 @@ module Fastlane
48
48
  else
49
49
  Helper.log.info "Creating the new version: #{version_number}"
50
50
  app.create_version!(version_number)
51
- app = Spaceship::Application.find(params[:app_identifier]) # TODO: replace with .reload method once available
51
+ app = Spaceship::Application.find(params[:app_identifier]) # Replace with .reload method once available
52
52
  v = app.edit_version
53
53
  end
54
54
 
@@ -81,7 +81,7 @@ module Fastlane
81
81
  output = parse_options(action.output, false) if action.output
82
82
  if output and output.count > 0
83
83
  puts Terminal::Table.new(
84
- title: filter.green,
84
+ title: [filter, "| Output Variables"].join(" ").green,
85
85
  headings: ['Key', 'Description'],
86
86
  rows: output
87
87
  )
@@ -3,8 +3,14 @@ module Fastlane
3
3
  require "erb"
4
4
  def self.load(template_name)
5
5
  path = "#{Helper.gem_path('fastlane')}/lib/assets/#{template_name}.erb"
6
- raise "Could not find Template at path '#{path}'".red unless File.exist?(path)
7
- File.read(path)
6
+ load_from_path(path)
7
+ end
8
+
9
+ def self.load_from_path(template_filepath)
10
+ unless File.exist?(template_filepath)
11
+ raise "Could not find Template at path '#{template_filepath}'".red
12
+ end
13
+ File.read(template_filepath)
8
14
  end
9
15
 
10
16
  def self.render(template,template_vars_hash)
@@ -1,3 +1,3 @@
1
1
  module Fastlane
2
- VERSION = '1.13.1'
2
+ VERSION = '1.14.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: 1.13.1
4
+ version: 1.14.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-07-27 00:00:00.000000000 Z
11
+ date: 2015-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -184,70 +184,70 @@ dependencies:
184
184
  requirements:
185
185
  - - ">="
186
186
  - !ruby/object:Gem::Version
187
- version: 0.2.0
187
+ version: 0.3.4
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: 0.2.0
194
+ version: 0.3.4
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: deliver
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - ">="
200
200
  - !ruby/object:Gem::Version
201
- version: 0.12.1
201
+ version: 0.13.0
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - ">="
207
207
  - !ruby/object:Gem::Version
208
- version: 0.12.1
208
+ version: 0.13.0
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: snapshot
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - ">="
214
214
  - !ruby/object:Gem::Version
215
- version: 0.9.0
215
+ version: 0.9.2
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.9.0
222
+ version: 0.9.2
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: frameit
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - ">="
228
228
  - !ruby/object:Gem::Version
229
- version: 2.0.1
229
+ version: 2.1.0
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: 2.0.1
236
+ version: 2.1.0
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: pem
239
239
  requirement: !ruby/object:Gem::Requirement
240
240
  requirements:
241
241
  - - ">="
242
242
  - !ruby/object:Gem::Version
243
- version: 0.6.3
243
+ version: 0.6.4
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.6.3
250
+ version: 0.6.4
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: cert
253
253
  requirement: !ruby/object:Gem::Requirement
@@ -268,28 +268,28 @@ dependencies:
268
268
  requirements:
269
269
  - - ">="
270
270
  - !ruby/object:Gem::Version
271
- version: 0.10.0
271
+ version: 0.10.3
272
272
  type: :runtime
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
276
  - - ">="
277
277
  - !ruby/object:Gem::Version
278
- version: 0.10.0
278
+ version: 0.10.3
279
279
  - !ruby/object:Gem::Dependency
280
280
  name: produce
281
281
  requirement: !ruby/object:Gem::Requirement
282
282
  requirements:
283
283
  - - ">="
284
284
  - !ruby/object:Gem::Version
285
- version: 0.4.1
285
+ version: 0.5.1
286
286
  type: :runtime
287
287
  prerelease: false
288
288
  version_requirements: !ruby/object:Gem::Requirement
289
289
  requirements:
290
290
  - - ">="
291
291
  - !ruby/object:Gem::Version
292
- version: 0.4.1
292
+ version: 0.5.1
293
293
  - !ruby/object:Gem::Dependency
294
294
  name: bundler
295
295
  requirement: !ruby/object:Gem::Requirement
@@ -442,6 +442,7 @@ files:
442
442
  - lib/fastlane/actions/dsym_zip.rb
443
443
  - lib/fastlane/actions/ensure_git_branch.rb
444
444
  - lib/fastlane/actions/ensure_git_status_clean.rb
445
+ - lib/fastlane/actions/ensure_no_debug_code.rb
445
446
  - lib/fastlane/actions/fastlane_version.rb
446
447
  - lib/fastlane/actions/frameit.rb
447
448
  - lib/fastlane/actions/gcovr.rb
@@ -536,7 +537,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
536
537
  version: '0'
537
538
  requirements: []
538
539
  rubyforge_project:
539
- rubygems_version: 2.4.6
540
+ rubygems_version: 2.4.8
540
541
  signing_key:
541
542
  specification_version: 4
542
543
  summary: Connect all iOS deployment tools into one streamlined workflow