fastlane 1.92.0 → 1.93.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/assets/AvailablePlugins.md.erb +24 -0
  3. data/lib/fastlane.rb +13 -6
  4. data/lib/fastlane/action_collector.rb +35 -2
  5. data/lib/fastlane/actions/actions_helper.rb +4 -0
  6. data/lib/fastlane/commands_generator.rb +61 -1
  7. data/lib/fastlane/lane.rb +1 -1
  8. data/lib/fastlane/lane_manager.rb +6 -2
  9. data/lib/fastlane/one_off.rb +7 -1
  10. data/lib/fastlane/plugins/plugin_fetcher.rb +59 -0
  11. data/lib/fastlane/plugins/plugin_generator.rb +86 -0
  12. data/lib/fastlane/plugins/plugin_generator_ui.rb +19 -0
  13. data/lib/fastlane/plugins/plugin_info.rb +47 -0
  14. data/lib/fastlane/plugins/plugin_info_collector.rb +150 -0
  15. data/lib/fastlane/plugins/plugin_manager.rb +358 -0
  16. data/lib/fastlane/plugins/plugin_search.rb +46 -0
  17. data/lib/fastlane/plugins/plugins.rb +11 -0
  18. data/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +26 -0
  19. data/lib/fastlane/plugins/template/Gemfile +3 -0
  20. data/lib/fastlane/plugins/template/LICENSE.erb +21 -0
  21. data/lib/fastlane/plugins/template/README.md.erb +31 -0
  22. data/lib/fastlane/plugins/template/Rakefile +1 -0
  23. data/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%.rb.erb +16 -0
  24. data/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb +35 -0
  25. data/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb +12 -0
  26. data/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/version.rb.erb +5 -0
  27. data/lib/fastlane/plugins/template/spec/%plugin_name%_action_spec.rb.erb +9 -0
  28. data/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +10 -0
  29. data/lib/fastlane/runner.rb +34 -12
  30. data/lib/fastlane/version.rb +1 -1
  31. metadata +60 -27
  32. data/lib/fastlane/actions/xcake.rb +0 -35
@@ -0,0 +1,46 @@
1
+ module Fastlane
2
+ class PluginSearch
3
+ require 'word_wrap'
4
+
5
+ def self.print_plugins(search_query: nil)
6
+ if search_query
7
+ UI.message "Looking for fastlane plugins containing '#{search_query}'..."
8
+ else
9
+ UI.message "Listing all available fastlane plugins"
10
+ end
11
+
12
+ plugins = Fastlane::PluginFetcher.fetch_gems(search_query: search_query)
13
+
14
+ if plugins.empty?
15
+ UI.user_error!("Couldn't find any available fastlane plugins containing '#{search_query}'")
16
+ end
17
+
18
+ rows = plugins.collect do |current|
19
+ [
20
+ current.name.green,
21
+ WordWrap.ww(current.info, 50),
22
+ current.downloads
23
+ ]
24
+ end
25
+
26
+ params = {
27
+ rows: rows,
28
+ title: (search_query ? "fastlane plugins '#{search_query}'" : "Available fastlane plugins").green,
29
+ headings: ["Name", "Description", "Downloads"]
30
+ }
31
+ params[:rows] = rows
32
+
33
+ puts ""
34
+ puts Terminal::Table.new(params)
35
+ puts ""
36
+
37
+ if plugins.count == 1
38
+ print_plugin_details(plugins.last)
39
+ end
40
+ end
41
+
42
+ def self.print_plugin_details(plugin)
43
+ UI.message("You can find more information for #{plugin.name} on #{plugin.homepage.green}")
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,11 @@
1
+ require 'fileutils'
2
+ require 'erb'
3
+ require 'find'
4
+
5
+ require 'fastlane/plugins/plugin_info'
6
+ require 'fastlane/plugins/plugin_generator'
7
+ require 'fastlane/plugins/plugin_generator_ui'
8
+ require 'fastlane/plugins/plugin_info_collector'
9
+ require 'fastlane/plugins/plugin_manager'
10
+ require 'fastlane/plugins/plugin_search'
11
+ require 'fastlane/plugins/plugin_fetcher'
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require '<%= require_path %>/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = '<%= gem_name %>'
8
+ spec.version = Fastlane::<%= plugin_name.fastlane_class %>::VERSION
9
+ spec.author = %q{<%= author %>}
10
+ spec.email = %q{<%= email %>}
11
+
12
+ spec.summary = %q{<%= summary %>}
13
+ # spec.homepage = "https://github.com/<GITHUB_USERNAME>/<%= gem_name %>"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = Dir["lib/**/*"] + %w(README.md LICENSE)
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ['lib']
19
+
20
+ # spec.add_dependency 'your-dependency', '~> 1.0.0'
21
+
22
+ spec.add_development_dependency 'pry'
23
+ spec.add_development_dependency 'bundler'
24
+ spec.add_development_dependency 'rspec'
25
+ spec.add_development_dependency 'fastlane', '>= <%= Fastlane::VERSION %>'
26
+ end
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) <%= Time.now.year %> <%= author %> <<%= email %>>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,31 @@
1
+ # <%= gem_name %> `fastlane` Plugin
2
+
3
+ [![fastlane Plugin Badge](https://raw.githubusercontent.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/<%= gem_name %>)
4
+
5
+ ## Getting Started
6
+
7
+ This project is a [fastlane](https://github.com/fastlane/fastlane) plugin. To get started with <%= gem_name %>, add it to your project by running:
8
+
9
+ ```bash
10
+ fastlane add_plugin <%= plugin_name %>
11
+ ```
12
+
13
+ ## About <%= plugin_name %>
14
+
15
+ <%= summary %>
16
+
17
+ ## Issues and Feedback
18
+
19
+ For any other issues and feedback about this plugin, please submit it to this repository.
20
+
21
+ ## Troubleshooting
22
+
23
+ For some more detailed help with plugins problems, check out the [Plugins Troubleshooting](https://github.com/fastlane/fastlane/blob/master/fastlane/docs/PluginsTroubleshooting.md) doc in the main `fastlane` repo.
24
+
25
+ ## Using `fastlane` Plugins
26
+
27
+ For more information about how the `fastlane` plugin system works, check out the [Plugins documentation](https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Plugins.md) in the main `fastlane` repo.
28
+
29
+ ## About `fastlane`
30
+
31
+ `fastlane` automates building, testing, and releasing your app for beta and app store distributions. To learn more about `fastlane`, check out [fastlane.tools](https://fastlane.tools).
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
@@ -0,0 +1,16 @@
1
+ require '<%= require_path %>/version'
2
+
3
+ module Fastlane
4
+ module <%= plugin_name.fastlane_class %>
5
+ # Return all .rb files inside the "actions" and "helper" directory
6
+ def self.all_classes
7
+ Dir[File.expand_path('**/{actions,helper}/*.rb', File.dirname(__FILE__))]
8
+ end
9
+ end
10
+ end
11
+
12
+ # By default we want to import all available actions and helpers
13
+ # A plugin can contain any number of actions and plugins
14
+ Fastlane::<%= plugin_name.fastlane_class %>.all_classes.each do |current|
15
+ require current
16
+ end
@@ -0,0 +1,35 @@
1
+ module Fastlane
2
+ module Actions
3
+ class <%= plugin_name.fastlane_class %>Action < Action
4
+ def self.run(params)
5
+ UI.message("The <%= plugin_name %> plugin is working!")
6
+ end
7
+
8
+ def self.description
9
+ %q{<%= summary %>}
10
+ end
11
+
12
+ def self.authors
13
+ [%q{<%= author %>}]
14
+ end
15
+
16
+ def self.available_options
17
+ [
18
+ # FastlaneCore::ConfigItem.new(key: :your_option,
19
+ # env_name: "<%= plugin_name.upcase %>_YOUR_OPTION",
20
+ # description: "A description of your option",
21
+ # optional: false,
22
+ # type: String)
23
+ ]
24
+ end
25
+
26
+ def self.is_supported?(platform)
27
+ # Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
28
+ # See: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
29
+ #
30
+ # [:ios, :mac, :android].include?(platform)
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,12 @@
1
+ module Fastlane
2
+ module Helper
3
+ class <%= plugin_name.fastlane_class %>Helper
4
+ # class methods that you define here become available in your action
5
+ # as `Helper::<%= plugin_name.fastlane_class %>Helper.your_method`
6
+ #
7
+ def self.show_message
8
+ UI.message("Hello from the <%= plugin_name %> plugin helper!")
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ module Fastlane
2
+ module <%= plugin_name.fastlane_class %>
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ describe Fastlane::Actions::<%= plugin_name.fastlane_class %>Action do
2
+ describe '#run' do
3
+ it 'prints a message' do
4
+ expect(Fastlane::UI).to receive(:message).with("The <%= plugin_name %> plugin is working!")
5
+
6
+ Fastlane::Actions::<%= plugin_name.fastlane_class %>Action.run(nil)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+
3
+ # This module is only used to check the environment is currently a testing env
4
+ module SpecHelper
5
+ end
6
+
7
+ require 'fastlane' # to import the Action super class
8
+ require '<%= require_path %>' # import the actual plugin
9
+
10
+ Fastlane.load_actions # load other actions (in case your plugin calls other actions or shared values)
@@ -96,19 +96,38 @@ module Fastlane
96
96
  begin
97
97
  class_ref = Fastlane::Actions.const_get(class_name)
98
98
  rescue NameError
99
- # Action not found
100
- # Is there a lane under this name?
101
- return self.try_switch_to_lane(method_sym, arguments)
102
99
  end
103
100
 
104
101
  # It's important to *not* have this code inside the rescue block
105
- # otherwise all NameErrors will be caugth and the error message is
102
+ # otherwise all NameErrors will be caught and the error message is
106
103
  # confusing
107
- if class_ref && class_ref.respond_to?(:run)
108
- # Action is available, now execute it
109
- return self.execute_action(method_sym, class_ref, arguments, custom_dir: custom_dir)
104
+ if class_ref
105
+ if class_ref.respond_to?(:run)
106
+ # Action is available, now execute it
107
+ return self.execute_action(method_sym, class_ref, arguments, custom_dir: custom_dir)
108
+ else
109
+ UI.user_error!("Action '#{method_sym}' of class '#{class_name}' was found, but has no `run` method.")
110
+ end
110
111
  else
111
- UI.user_error!("Action '#{method_sym}' of class '#{class_name}' was found, but has no `run` method.")
112
+ # Action was not found
113
+ # Is there a lane under this name?
114
+ begin
115
+ return self.try_switch_to_lane(method_sym, arguments)
116
+ rescue LaneNotAvailableError
117
+ # No lane, no action, let's at least show the correct error message
118
+ if Fastlane.plugin_manager.plugin_is_added_as_dependency?(PluginManager.plugin_prefix + method_sym.to_s)
119
+ # That's a plugin, but for some reason we can't find it
120
+ UI.user_error!("Plugin '#{method_sym}' was not properly loaded, make sure to follow the plugin docs for troubleshooting: #{PluginManager::TROUBLESHOOTING_URL}")
121
+ elsif Fastlane::Actions.formerly_bundled_actions.include?(method_str)
122
+ # This was a formerly bundled action which is now a plugin.
123
+ UI.verbose(caller.join("\n"))
124
+ UI.user_error!("The action '#{method_sym}' is no longer bundled with fastlane. You can install it using `fastlane add_plugin #{method_sym}`")
125
+ else
126
+ # So there is no plugin under that name, so just show the error message generated by the lane switch
127
+ UI.verbose(caller.join("\n"))
128
+ UI.user_error!("Could not find action or lane '#{method_sym}'. Check out the README for more details: https://github.com/fastlane/fastlane/tree/master/fastlane")
129
+ end
130
+ end
112
131
  end
113
132
  end
114
133
 
@@ -116,6 +135,9 @@ module Fastlane
116
135
  # All the methods that are usually called on execution
117
136
  #
118
137
 
138
+ class LaneNotAvailableError < StandardError
139
+ end
140
+
119
141
  def try_switch_to_lane(new_lane, parameters)
120
142
  block = lanes.fetch(current_platform, {}).fetch(new_lane, nil)
121
143
  block ||= lanes.fetch(nil, {}).fetch(new_lane, nil) # fallback to general lane for multiple platforms
@@ -145,9 +167,7 @@ module Fastlane
145
167
  UI.success "Cruising back to lane '#{original_full}' 🚘".green
146
168
  return result
147
169
  else
148
- # No action and no lane, raising an exception now
149
- UI.error caller.join("\n")
150
- UI.user_error!("Could not find action or lane '#{new_lane}'. Check out the README for more details: https://github.com/fastlane/fastlane/tree/master/fastlane")
170
+ raise LaneNotAvailableError.new
151
171
  end
152
172
  end
153
173
 
@@ -180,7 +200,9 @@ module Fastlane
180
200
  rescue FastlaneCore::Interface::FastlaneError => e # user_error!
181
201
  collector.did_raise_error(method_sym)
182
202
  raise e
183
- rescue => e # high chance this is actually FastlaneCore::Interface::FastlaneCrash, but can be anything else
203
+ rescue Exception => e # rubocop:disable Lint/RescueException
204
+ # high chance this is actually FastlaneCore::Interface::FastlaneCrash, but can be anything else
205
+ # Catches all exceptions, since some plugins might use system exits to get out
184
206
  collector.did_crash(method_sym)
185
207
  raise e
186
208
  end
@@ -1,4 +1,4 @@
1
1
  module Fastlane
2
- VERSION = '1.92.0'.freeze
2
+ VERSION = '1.93.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate building and releasing your iOS and Android apps"
4
4
  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.92.0
4
+ version: 1.93.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-05-31 00:00:00.000000000 Z
11
+ date: 2016-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: krausefx-shenzhen
@@ -156,13 +156,27 @@ dependencies:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
158
  version: 1.4.0
159
+ - !ruby/object:Gem::Dependency
160
+ name: word_wrap
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: 1.0.0
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: 1.0.0
159
173
  - !ruby/object:Gem::Dependency
160
174
  name: fastlane_core
161
175
  requirement: !ruby/object:Gem::Requirement
162
176
  requirements:
163
177
  - - ">="
164
178
  - !ruby/object:Gem::Version
165
- version: 0.44.2
179
+ version: 0.46.0
166
180
  - - "<"
167
181
  - !ruby/object:Gem::Version
168
182
  version: 1.0.0
@@ -172,10 +186,24 @@ dependencies:
172
186
  requirements:
173
187
  - - ">="
174
188
  - !ruby/object:Gem::Version
175
- version: 0.44.2
189
+ version: 0.46.0
176
190
  - - "<"
177
191
  - !ruby/object:Gem::Version
178
192
  version: 1.0.0
193
+ - !ruby/object:Gem::Dependency
194
+ name: bundler
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '1.12'
200
+ type: :runtime
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - "~>"
205
+ - !ruby/object:Gem::Version
206
+ version: '1.12'
179
207
  - !ruby/object:Gem::Dependency
180
208
  name: credentials_manager
181
209
  requirement: !ruby/object:Gem::Requirement
@@ -222,7 +250,7 @@ dependencies:
222
250
  requirements:
223
251
  - - ">="
224
252
  - !ruby/object:Gem::Version
225
- version: 1.11.3
253
+ version: 1.12.0
226
254
  - - "<"
227
255
  - !ruby/object:Gem::Version
228
256
  version: 2.0.0
@@ -232,7 +260,7 @@ dependencies:
232
260
  requirements:
233
261
  - - ">="
234
262
  - !ruby/object:Gem::Version
235
- version: 1.11.3
263
+ version: 1.12.0
236
264
  - - "<"
237
265
  - !ruby/object:Gem::Version
238
266
  version: 2.0.0
@@ -242,7 +270,7 @@ dependencies:
242
270
  requirements:
243
271
  - - ">="
244
272
  - !ruby/object:Gem::Version
245
- version: 1.12.1
273
+ version: 1.12.3
246
274
  - - "<"
247
275
  - !ruby/object:Gem::Version
248
276
  version: 2.0.0
@@ -252,7 +280,7 @@ dependencies:
252
280
  requirements:
253
281
  - - ">="
254
282
  - !ruby/object:Gem::Version
255
- version: 1.12.1
283
+ version: 1.12.3
256
284
  - - "<"
257
285
  - !ruby/object:Gem::Version
258
286
  version: 2.0.0
@@ -262,7 +290,7 @@ dependencies:
262
290
  requirements:
263
291
  - - ">="
264
292
  - !ruby/object:Gem::Version
265
- version: 2.6.2
293
+ version: 2.7.0
266
294
  - - "<"
267
295
  - !ruby/object:Gem::Version
268
296
  version: 3.0.0
@@ -272,7 +300,7 @@ dependencies:
272
300
  requirements:
273
301
  - - ">="
274
302
  - !ruby/object:Gem::Version
275
- version: 2.6.2
303
+ version: 2.7.0
276
304
  - - "<"
277
305
  - !ruby/object:Gem::Version
278
306
  version: 3.0.0
@@ -382,7 +410,7 @@ dependencies:
382
410
  requirements:
383
411
  - - ">="
384
412
  - !ruby/object:Gem::Version
385
- version: 1.7.0
413
+ version: 1.8.0
386
414
  - - "<"
387
415
  - !ruby/object:Gem::Version
388
416
  version: 2.0.0
@@ -392,7 +420,7 @@ dependencies:
392
420
  requirements:
393
421
  - - ">="
394
422
  - !ruby/object:Gem::Version
395
- version: 1.7.0
423
+ version: 1.8.0
396
424
  - - "<"
397
425
  - !ruby/object:Gem::Version
398
426
  version: 2.0.0
@@ -476,20 +504,6 @@ dependencies:
476
504
  - - "<"
477
505
  - !ruby/object:Gem::Version
478
506
  version: 1.0.0
479
- - !ruby/object:Gem::Dependency
480
- name: bundler
481
- requirement: !ruby/object:Gem::Requirement
482
- requirements:
483
- - - ">="
484
- - !ruby/object:Gem::Version
485
- version: '0'
486
- type: :development
487
- prerelease: false
488
- version_requirements: !ruby/object:Gem::Requirement
489
- requirements:
490
- - - ">="
491
- - !ruby/object:Gem::Version
492
- version: '0'
493
507
  - !ruby/object:Gem::Dependency
494
508
  name: rake
495
509
  requirement: !ruby/object:Gem::Requirement
@@ -660,6 +674,7 @@ files:
660
674
  - "bin/\U0001F680"
661
675
  - lib/assets/AppfileTemplate
662
676
  - lib/assets/AppfileTemplateAndroid
677
+ - lib/assets/AvailablePlugins.md.erb
663
678
  - lib/assets/DefaultFastfileTemplate
664
679
  - lib/assets/FastfileTemplateAndroid
665
680
  - lib/assets/completions/completion.bash
@@ -847,7 +862,6 @@ files:
847
862
  - lib/fastlane/actions/verify_xcode.rb
848
863
  - lib/fastlane/actions/version_bump_podspec.rb
849
864
  - lib/fastlane/actions/version_get_podspec.rb
850
- - lib/fastlane/actions/xcake.rb
851
865
  - lib/fastlane/actions/xcode_install.rb
852
866
  - lib/fastlane/actions/xcode_select.rb
853
867
  - lib/fastlane/actions/xcode_server_get_assets.rb
@@ -883,6 +897,25 @@ files:
883
897
  - lib/fastlane/new_action.rb
884
898
  - lib/fastlane/one_off.rb
885
899
  - lib/fastlane/other_action.rb
900
+ - lib/fastlane/plugins/plugin_fetcher.rb
901
+ - lib/fastlane/plugins/plugin_generator.rb
902
+ - lib/fastlane/plugins/plugin_generator_ui.rb
903
+ - lib/fastlane/plugins/plugin_info.rb
904
+ - lib/fastlane/plugins/plugin_info_collector.rb
905
+ - lib/fastlane/plugins/plugin_manager.rb
906
+ - lib/fastlane/plugins/plugin_search.rb
907
+ - lib/fastlane/plugins/plugins.rb
908
+ - lib/fastlane/plugins/template/%gem_name%.gemspec.erb
909
+ - lib/fastlane/plugins/template/Gemfile
910
+ - lib/fastlane/plugins/template/LICENSE.erb
911
+ - lib/fastlane/plugins/template/README.md.erb
912
+ - lib/fastlane/plugins/template/Rakefile
913
+ - lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%.rb.erb
914
+ - lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb
915
+ - lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb
916
+ - lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/version.rb.erb
917
+ - lib/fastlane/plugins/template/spec/%plugin_name%_action_spec.rb.erb
918
+ - lib/fastlane/plugins/template/spec/spec_helper.rb.erb
886
919
  - lib/fastlane/runner.rb
887
920
  - lib/fastlane/setup/setup.rb
888
921
  - lib/fastlane/setup/setup_android.rb