fastlane-plugin-xbluepill 0.1.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 +7 -0
 - data/LICENSE +21 -0
 - data/README.md +81 -0
 - data/lib/fastlane/plugin/xbluepill.rb +16 -0
 - data/lib/fastlane/plugin/xbluepill/actions/xbluepill_action.rb +344 -0
 - data/lib/fastlane/plugin/xbluepill/helper/xbluepill_helper.rb +16 -0
 - data/lib/fastlane/plugin/xbluepill/version.rb +5 -0
 - metadata +176 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -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.
         
     | 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,81 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # xbluepill plugin
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            [](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
         
     | 
    
        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: []
         
     |