fastlane-plugin-xbluepill 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e04d8dc9e2e9a52225a2b69f0ed58b1acb4fa98c
4
+ data.tar.gz: df5521cf0ddddb337dbadac239116cc9f0d17b4f
5
+ SHA512:
6
+ metadata.gz: aabb968c7a494c50b8703e6bbfd345fc269982d4462fb512c13e47a9f18ca033e7e3cbd4172fa693d1d417e2df0bf725322ba1aa0b9965fad8be8c8a72933377
7
+ data.tar.gz: 9b80d85ffd814cd896b3be1e9cf8065ff8f48c0029be32bc85c955e67b9274d8a259605b5a67614ce09298d3fd40d06d4a183a9a0aaba43d3dbb2eec671e47fc
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 UladzimirKisialiou <uladzimir_kisialiou@epam.com>
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,81 @@
1
+ # xbluepill plugin
2
+
3
+ [![fastlane Plugin Badge](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/fastlane-plugin-xbluepill)
4
+
5
+ ## Getting Started
6
+
7
+ This project is a [_fastlane_](https://github.com/fastlane/fastlane) plugin. To get started with `fastlane-plugin-xbluepill`, add it to your project by running:
8
+
9
+ ```bash
10
+ fastlane add_plugin xbluepill
11
+ ```
12
+
13
+ ## About xbluepill
14
+
15
+ It is a fastlane plugin that allows to use bluepill (linkedin library) as a fastlane command
16
+
17
+ **Note to author:** Add a more detailed description about this plugin here. If your plugin contains multiple actions, make sure to mention them here.
18
+
19
+ ## Example
20
+
21
+ Check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plugin. Try it by cloning the repo, running `fastlane install_plugins` and `bundle exec fastlane test`.
22
+
23
+ **Note to author:** Please set up a sample project to make it easy for users to explore what your plugin does. Provide everything that is necessary to try out the plugin in this project (including a sample Xcode/Android project if necessary)
24
+
25
+ ## Run tests for this plugin
26
+
27
+ To run both the tests, and code style validation, run
28
+
29
+ ```
30
+ rake
31
+ ```
32
+
33
+ To automatically fix many of the styling issues, use
34
+ ```
35
+ rubocop -a
36
+ ```
37
+
38
+ ## Issues and Feedback
39
+
40
+ For any other issues and feedback about this plugin, please submit it to this repository.
41
+
42
+ ## Troubleshooting
43
+
44
+ If you have trouble using plugins, check out the [Plugins Troubleshooting](https://docs.fastlane.tools/plugins/plugins-troubleshooting/) guide.
45
+
46
+ ## Using _fastlane_ Plugins
47
+
48
+ For more information about how the `fastlane` plugin system works, check out the [Plugins documentation](https://docs.fastlane.tools/plugins/create-plugin/).
49
+
50
+ ## About _fastlane_
51
+
52
+ _fastlane_ is the easiest way to automate beta deployments and releases for your iOS and Android apps. To learn more, check out [fastlane.tools](https://fastlane.tools).
53
+
54
+ ## License of Bluepill
55
+
56
+ BSD 2-CLAUSE LICENSE
57
+
58
+ Copyright 2016 LinkedIn Corporation.
59
+ All Rights Reserved.
60
+
61
+ Redistribution and use in source and binary forms, with or without
62
+ modification, are permitted provided that the following conditions are met:
63
+
64
+ 1. Redistributions of source code must retain the above copyright notice, this
65
+ list of conditions and the following disclaimer.
66
+
67
+ 2. Redistributions in binary form must reproduce the above copyright notice,
68
+ this list of conditions and the following disclaimer in the documentation
69
+ and/or other materials provided with the distribution.
70
+
71
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
72
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
73
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
74
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
75
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
76
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
77
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
78
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
79
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
80
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
81
+
@@ -0,0 +1,16 @@
1
+ require 'fastlane/plugin/xbluepill/version'
2
+
3
+ module Fastlane
4
+ module Xbluepill
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::Xbluepill.all_classes.each do |current|
15
+ require current
16
+ end
@@ -0,0 +1,344 @@
1
+ require 'fastlane/action'
2
+ require 'fastlane/actions/scan'
3
+ require_relative '../helper/xbluepill_helper'
4
+
5
+ module Fastlane
6
+ module Actions
7
+ class XbluepillAction < Action
8
+ def self.run(params)
9
+ puts(params)
10
+ UI.message("The xbluepill plugin is working!")
11
+
12
+ sh("rm -rf ./xbluepill")
13
+ sh("rm -rf ./xbluepill_output")
14
+
15
+ scan_options = {}
16
+ scan_options[:workspace] = params[:workspace]
17
+ scan_options[:scheme] = params[:scheme]
18
+ scan_options[:build_for_testing] = true
19
+ scan_options[:derived_data_path] = "./xbluepill"
20
+ scan_options[:buildlog_path] = "./xbluepill/logs/"
21
+ config = FastlaneCore::Configuration.create(Fastlane::Actions::ScanAction.available_options, scan_options)
22
+ Fastlane::Actions::ScanAction.run(config)
23
+
24
+ xctestrun_path = Dir.glob("./xbluepill/Build/Products/*.xctestrun")[0].to_s
25
+ app = Dir.glob("./xbluepill/Build/Products/Debug-*/*.app")[0].to_s
26
+
27
+ cmd = get_bp_binary.to_s
28
+
29
+ add_required_param(cmd, "--xctestrun-path", xctestrun_path)
30
+ add_required_param(cmd, "-o", params[:output_dir])
31
+
32
+ add_optional_param(cmd, "-a", app)
33
+ add_optional_param(cmd, "-c", params[:config])
34
+ add_optional_param(cmd, "-d", params[:device])
35
+ add_optional_param_array(cmd, "-x", params[:exclude])
36
+ add_optional_param_array(cmd, "-i", params[:include])
37
+ add_optional_param_not_string(cmd, "--headless", params[:headless])
38
+ add_optional_param(cmd, "-X", params[:xcode_path])
39
+ add_optional_param_not_string(cmd, "-J", params[:json_output])
40
+ add_optional_param_not_string(cmd, "-j", params[:junit_output])
41
+ add_optional_param_not_string(cmd, "-l", params[:list_tests])
42
+ add_optional_param_not_string(cmd, "-n", params[:num_sims])
43
+ add_optional_param_not_string(cmd, "-p", params[:plain_output])
44
+ add_optional_param(cmd, "-P", params[:printf_config])
45
+ add_optional_param_not_string(cmd, "-R", params[:error_retries])
46
+ add_optional_param_not_string(cmd, "-f", params[:failure_tolerance])
47
+ add_optional_param_not_string(cmd, "-F", params[:only_retry_failed])
48
+ add_optional_param(cmd, "-r", params[:runtime])
49
+ add_optional_param(cmd, "-S", params[:stuck_timeout])
50
+ add_optional_param(cmd, "-T", params[:test_timeout])
51
+ add_optional_param(cmd, "-t", params[:test_bundle_path])
52
+ add_optional_param_not_string(cmd, "--additional-unit-xctests", params[:additional_unit_xctests])
53
+ add_optional_param_not_string(cmd, "--additional-ui-xctests", params[:additional_ui_xctests])
54
+ add_optional_param_not_string(cmd, "-C", params[:repeat_count])
55
+ add_optional_param(cmd, "-N", params[:no_split])
56
+ add_optional_param_not_string(cmd, "-q", params[:quiet])
57
+ add_optional_param_not_string(cmd, "--reuse-simulator", params[:reuse_simulator])
58
+ add_optional_param_not_string(cmd, "--diagnostics", params[:diagnostics])
59
+ add_optional_param(cmd, "-h", params[:help])
60
+ add_optional_param(cmd, "-u", params[:runner_app_path])
61
+ add_optional_param(cmd, "--screenshots-directory", params[:screenshots_directory])
62
+ add_optional_param_not_string(cmd, "-V", params[:video_paths])
63
+ add_optional_param_not_string(cmd, "-I", params[:image_paths])
64
+
65
+ sh(cmd)
66
+
67
+ reset = params[:reset_simulators].to_s.empty? ? false : params[:reset_simulators]
68
+ sh("xcrun simctl shutdown all ; export SNAPSHOT_FORCE_DELETE=true ; fastlane snapshot reset_simulators --force") if reset
69
+ end
70
+
71
+ def self.add_required_param(cmd, param_name, param_value)
72
+ cmd << " #{param_name} '#{param_value}'"
73
+ end
74
+
75
+ def self.add_optional_param(cmd, param_name, param_value)
76
+ cmd << " #{param_name} '#{param_value}'" unless param_value.to_s.empty?
77
+ end
78
+
79
+ def self.add_optional_param_not_string(cmd, param_name, param_value)
80
+ cmd << " #{param_name} #{param_value}" unless param_value.to_s.empty?
81
+ end
82
+
83
+ def self.add_optional_param_array(cmd, param_name, param_value)
84
+ cmd << " #{param_name} #{param_value.join(' -i ')}" unless param_value.to_s.empty?
85
+ end
86
+
87
+ def self.get_bp_binary
88
+ File.expand_path('../../../../../../bin/bluepill', __FILE__)
89
+ end
90
+
91
+ def self.description
92
+ "Fastlane plugin that allows to use bluepill (linkedin library) as a fastlane command"
93
+ end
94
+
95
+ def self.authors
96
+ ["Vova"]
97
+ end
98
+
99
+ # Nothing to return here
100
+ def self.return_value; end
101
+
102
+ def self.details
103
+ "Bluepill is powered by LinkedIn: https://github.com/linkedin/bluepill"
104
+ end
105
+
106
+ def self.available_options
107
+ [
108
+ FastlaneCore::ConfigItem.new(key: :scheme,
109
+ env_name: "XBLUEPILL_scheme".upcase,
110
+ description: "XCode scheme",
111
+ optional: false,
112
+ type: String),
113
+
114
+ FastlaneCore::ConfigItem.new(key: :workspace,
115
+ env_name: "XBLUEPILL_workspace".upcase,
116
+ description: "XCode workspace",
117
+ optional: false,
118
+ type: String),
119
+
120
+ FastlaneCore::ConfigItem.new(key: :reset_simulators,
121
+ env_name: "XBLUEPILL_reset_simulators".upcase,
122
+ description: "Delete and re-create all iOS and tvOS simulators",
123
+ optional: true,
124
+ type: TrueClass),
125
+
126
+ FastlaneCore::ConfigItem.new(key: :output_dir,
127
+ env_name: "XBLUEPILL_output_dir".upcase,
128
+ description: "Directory where to put output log files (bluepill only)",
129
+ optional: false,
130
+ type: String),
131
+
132
+ FastlaneCore::ConfigItem.new(key: :config,
133
+ env_name: "XBLUEPILL_config".upcase,
134
+ description: "Read options from the specified configuration file instead of the command line",
135
+ optional: true,
136
+ type: String),
137
+
138
+ FastlaneCore::ConfigItem.new(key: :device,
139
+ env_name: "XBLUEPILL_device".upcase,
140
+ description: "On which device to run the app",
141
+ # default_value: "iPhone 6",
142
+ optional: true,
143
+ type: String),
144
+
145
+ FastlaneCore::ConfigItem.new(key: :exclude,
146
+ env_name: "XBLUEPILL_exclude".upcase,
147
+ description: "Exclude a testcase in the set of tests to run (takes priority over include)",
148
+ # default_value: [],
149
+ optional: true,
150
+ type: Array),
151
+
152
+ FastlaneCore::ConfigItem.new(key: :include,
153
+ env_name: "XBLUEPILL_include".upcase,
154
+ description: "Include a testcase in the set of tests to run (unless specified in exclude)",
155
+ # default_value: [],
156
+ optional: true,
157
+ type: Array),
158
+
159
+ FastlaneCore::ConfigItem.new(key: :headless,
160
+ env_name: "XBLUEPILL_headless".upcase,
161
+ description: "Run in headless mode (no GUI)",
162
+ # default_value: false,
163
+ optional: true,
164
+ type: TrueClass),
165
+
166
+ FastlaneCore::ConfigItem.new(key: :xcode_path,
167
+ env_name: "XBLUEPILL_xcode_path".upcase,
168
+ description: "Path to xcode",
169
+ optional: true,
170
+ type: String),
171
+
172
+ FastlaneCore::ConfigItem.new(key: :json_output,
173
+ env_name: "XBLUEPILL_json_output".upcase,
174
+ description: "Print test timing information in JSON format",
175
+ # default_value: false,
176
+ optional: true,
177
+ type: TrueClass),
178
+
179
+ FastlaneCore::ConfigItem.new(key: :junit_output,
180
+ env_name: "XBLUEPILL_junit_output".upcase,
181
+ description: "Print results in JUnit format",
182
+ # default_value: true,
183
+ optional: true,
184
+ type: TrueClass),
185
+
186
+ FastlaneCore::ConfigItem.new(key: :list_tests,
187
+ env_name: "XBLUEPILL_list_tests".upcase,
188
+ description: "Only list tests in bundle",
189
+ # default_value: true,
190
+ optional: true,
191
+ type: TrueClass),
192
+
193
+ FastlaneCore::ConfigItem.new(key: :num_sims,
194
+ env_name: "XBLUEPILL_num_sims".upcase,
195
+ description: "Number of simulators to run in parallel. (bluepill only)",
196
+ # default_value: 4,
197
+ optional: true,
198
+ type: Integer),
199
+
200
+ FastlaneCore::ConfigItem.new(key: :plain_output,
201
+ env_name: "XBLUEPILL_plain_output".upcase,
202
+ description: "Print results in plain text",
203
+ # default_value: true,
204
+ optional: true,
205
+ type: TrueClass),
206
+
207
+ FastlaneCore::ConfigItem.new(key: :printf_config,
208
+ env_name: "XBLUEPILL_printf_config".upcase,
209
+ description: "Print a configuration file suitable for passing back using the -c option",
210
+ optional: true,
211
+ type: String),
212
+
213
+ FastlaneCore::ConfigItem.new(key: :error_retries,
214
+ env_name: "XBLUEPILL_error_retries".upcase,
215
+ description: "Number of times to recover from simulator/app crashing/hanging and continue running",
216
+ # default_value: 5,
217
+ optional: true,
218
+ type: Integer),
219
+
220
+ FastlaneCore::ConfigItem.new(key: :failure_tolerance,
221
+ env_name: "XBLUEPILL_failure_tolerance".upcase,
222
+ description: "Number of times to retry on test failures",
223
+ # default_value: 0,
224
+ optional: true,
225
+ type: Integer),
226
+
227
+ FastlaneCore::ConfigItem.new(key: :only_retry_failed,
228
+ env_name: "XBLUEPILL_only_retry_failed".upcase,
229
+ description: "When failure-tolerance > 0, only retry tests that failed",
230
+ # default_value: false,
231
+ optional: true,
232
+ type: TrueClass),
233
+
234
+ FastlaneCore::ConfigItem.new(key: :runtime,
235
+ env_name: "XBLUEPILL_runtime".upcase,
236
+ description: "What runtime to use",
237
+ # default_value: "iOS 11.1",
238
+ optional: true,
239
+ type: String),
240
+
241
+ FastlaneCore::ConfigItem.new(key: :stuck_timeout,
242
+ env_name: "XBLUEPILL_stuck_timeout".upcase,
243
+ description: "Timeout in seconds for a test that seems stuck (no output)",
244
+ # default_value: "300s",
245
+ optional: true,
246
+ type: String),
247
+
248
+ FastlaneCore::ConfigItem.new(key: :test_timeout,
249
+ env_name: "XBLUEPILL_test_timeout".upcase,
250
+ description: "Timeout in seconds for a test that is producing output",
251
+ # default_value: "300s",
252
+ optional: true,
253
+ type: String),
254
+
255
+ FastlaneCore::ConfigItem.new(key: :test_bundle_path,
256
+ env_name: "XBLUEPILL_test_bundle_path".upcase,
257
+ description: "The path to the test bundle to execute (single .xctest)",
258
+ optional: true,
259
+ type: String),
260
+
261
+ FastlaneCore::ConfigItem.new(key: :additional_unit_xctests,
262
+ env_name: "XBLUEPILL_additional_unit_xctests".upcase,
263
+ description: "Additional XCTest bundles that is not Plugin folder",
264
+ optional: true,
265
+ type: Array),
266
+
267
+ FastlaneCore::ConfigItem.new(key: :additional_ui_xctests,
268
+ env_name: "XBLUEPILL_additional_ui_xctests".upcase,
269
+ description: "Additional XCTUITest bundles that is not Plugin folder",
270
+ optional: true,
271
+ type: Array),
272
+
273
+ FastlaneCore::ConfigItem.new(key: :repeat_count,
274
+ env_name: "XBLUEPILL_repeat_count".upcase,
275
+ description: "Number of times we'll run the entire test suite (used for load testing)",
276
+ # default_value: 1,
277
+ optional: true,
278
+ type: Integer),
279
+
280
+ FastlaneCore::ConfigItem.new(key: :no_split,
281
+ env_name: "XBLUEPILL_no_split".upcase,
282
+ description: "Test bundles you don't want to be packed into different groups to run in parallel",
283
+ optional: true,
284
+ type: String),
285
+
286
+ FastlaneCore::ConfigItem.new(key: :quiet,
287
+ env_name: "XBLUEPILL_quiet".upcase,
288
+ description: "Turn off all output except fatal errors",
289
+ # default_value: true,
290
+ optional: true,
291
+ type: TrueClass),
292
+
293
+ FastlaneCore::ConfigItem.new(key: :reuse_simulator,
294
+ env_name: "XBLUEPILL_reuse_simulator".upcase,
295
+ description: "Enable reusing simulators between test bundles",
296
+ # default_value: false,
297
+ optional: true,
298
+ type: TrueClass),
299
+
300
+ FastlaneCore::ConfigItem.new(key: :diagnostics,
301
+ env_name: "XBLUEPILL_diagnostics".upcase,
302
+ description: "Enable collection of diagnostics in outputDir in case of test failures",
303
+ # default_value: false,
304
+ optional: true,
305
+ type: TrueClass),
306
+
307
+ FastlaneCore::ConfigItem.new(key: :help,
308
+ env_name: "XBLUEPILL_help".upcase,
309
+ description: "Help",
310
+ optional: true,
311
+ type: String),
312
+
313
+ FastlaneCore::ConfigItem.new(key: :runner_app_path,
314
+ env_name: "XBLUEPILL_runner_app_path".upcase,
315
+ description: "The test runner for UI tests",
316
+ optional: true,
317
+ type: String),
318
+
319
+ FastlaneCore::ConfigItem.new(key: :screenshots_directory,
320
+ env_name: "XBLUEPILL_screenshots_directory".upcase,
321
+ description: "Directory where simulator screenshots for failed ui tests will be stored",
322
+ optional: true,
323
+ type: String),
324
+
325
+ FastlaneCore::ConfigItem.new(key: :video_paths,
326
+ env_name: "XBLUEPILL_video_paths".upcase,
327
+ description: "A list of videos that will be saved in the simulators",
328
+ optional: true,
329
+ type: Array),
330
+
331
+ FastlaneCore::ConfigItem.new(key: :image_paths,
332
+ env_name: "XBLUEPILL_image_paths".upcase,
333
+ description: "A list of images that will be saved in the simulators",
334
+ optional: true,
335
+ type: Array)
336
+ ]
337
+ end
338
+
339
+ def self.is_supported?(platform)
340
+ platform == :ios
341
+ end
342
+ end
343
+ end
344
+ end
@@ -0,0 +1,16 @@
1
+ require 'fastlane_core/ui/ui'
2
+
3
+ module Fastlane
4
+ UI = FastlaneCore::UI unless Fastlane.const_defined?("UI")
5
+
6
+ module Helper
7
+ class XbluepillHelper
8
+ # class methods that you define here become available in your action
9
+ # as `Helper::XbluepillHelper.your_method`
10
+ #
11
+ def self.show_message
12
+ UI.message("Hello from the xbluepill plugin helper!")
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ module Fastlane
2
+ module Xbluepill
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
metadata ADDED
@@ -0,0 +1,176 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fastlane-plugin-xbluepill
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - UladzimirKisialiou
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-01-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: pry
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec_junit_formatter
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 0.49.1
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.49.1
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop-require_tools
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: fastlane
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 2.78.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 2.78.0
139
+ description:
140
+ email: uladzimir_kisialiou@epam.com
141
+ executables: []
142
+ extensions: []
143
+ extra_rdoc_files: []
144
+ files:
145
+ - LICENSE
146
+ - README.md
147
+ - lib/fastlane/plugin/xbluepill.rb
148
+ - lib/fastlane/plugin/xbluepill/actions/xbluepill_action.rb
149
+ - lib/fastlane/plugin/xbluepill/helper/xbluepill_helper.rb
150
+ - lib/fastlane/plugin/xbluepill/version.rb
151
+ homepage: https://github.com/kisialiu/fastlane-plugin-xbluepill
152
+ licenses:
153
+ - MIT
154
+ metadata: {}
155
+ post_install_message:
156
+ rdoc_options: []
157
+ require_paths:
158
+ - lib
159
+ required_ruby_version: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
164
+ required_rubygems_version: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
169
+ requirements: []
170
+ rubyforge_project:
171
+ rubygems_version: 2.6.10
172
+ signing_key:
173
+ specification_version: 4
174
+ summary: It is a fastlane plugin that allows to use bluepill (linkedin library) as
175
+ a fastlane command
176
+ test_files: []