Sha256: 624c6a0d33cfd7d957eaf08d0f0b4dae5a97f556d1e6d1262ecd163508bc3646

Contents?: true

Size: 1.52 KB

Versions: 657

Compression:

Stored size: 1.52 KB

Contents

module Fastlane
  # Call actions without triggering a full lane
  class OneOff
    def self.execute(args: nil)
      action_parameters = {}
      action_name = nil

      args.each do |current|
        if current.include?(":") # that's a key/value which we want to pass to the lane
          key, value = current.split(":", 2)
          UI.user_error!("Please pass values like this: key:value") unless key.length > 0
          value = CommandLineHandler.convert_value(value)
          UI.verbose("Using #{key}: #{value}")
          action_parameters[key.to_sym] = value
        else
          action_name ||= current
        end
      end

      UI.crash!("invalid syntax") unless action_name

      run(action: action_name,
          parameters: action_parameters)
    end

    def self.run(action: nil, parameters: nil)
      Fastlane.load_actions

      class_ref = Actions.action_class_ref(action)
      unless class_ref
        if Fastlane::Actions.formerly_bundled_actions.include?(action)
          # This was a formerly bundled action which is now a plugin.
          UI.verbose(caller.join("\n"))
          UI.user_error!("The action '#{action}' is no longer bundled with fastlane. You can install it using `fastlane add_plugin #{action}`")
        else
          Fastlane::ActionsList.print_suggestions(action)
          UI.user_error!("Action '#{action}' not available, run `fastlane actions` to get a full list")
        end
      end

      r = Runner.new
      r.execute_action(action, class_ref, [parameters], custom_dir: '.')
    end
  end
end

Version data entries

657 entries across 657 versions & 5 rubygems

Version Path
fastlane-2.96.0.beta.20180518050116 fastlane/lib/fastlane/one_off.rb
fastlane-2.96.0.beta.20180517050058 fastlane/lib/fastlane/one_off.rb
fastlane-2.96.0.beta.20180516050022 fastlane/lib/fastlane/one_off.rb
fastlane-2.96.0.beta.20180515050025 fastlane/lib/fastlane/one_off.rb
fastlane-2.96.0.beta.20180514050029 fastlane/lib/fastlane/one_off.rb
fastlane-2.96.0.beta.20180513050015 fastlane/lib/fastlane/one_off.rb
fastlane-2.96.0.beta.20180512050121 fastlane/lib/fastlane/one_off.rb
fastlane-2.96.0.beta.20180511050050 fastlane/lib/fastlane/one_off.rb
fastlane-2.96.0.beta.20180510050112 fastlane/lib/fastlane/one_off.rb
fastlane-2.95.0 fastlane/lib/fastlane/one_off.rb
fastlane-2.95.0.beta.20180509050014 fastlane/lib/fastlane/one_off.rb
fastlane-2.95.0.beta.20180508050130 fastlane/lib/fastlane/one_off.rb
fastlane-2.95.0.beta.20180507050125 fastlane/lib/fastlane/one_off.rb
fastlane-2.95.0.beta.20180506050030 fastlane/lib/fastlane/one_off.rb
fastlane-2.95.0.beta.20180505050019 fastlane/lib/fastlane/one_off.rb
fastlane-2.95.0.beta.20180504050050 fastlane/lib/fastlane/one_off.rb
fastlane-2.95.0.beta.20180503050136 fastlane/lib/fastlane/one_off.rb
fastlane-2.95.0.beta.20180502050125 fastlane/lib/fastlane/one_off.rb
fastlane-2.94.0 fastlane/lib/fastlane/one_off.rb
fastlane-2.94.0.beta.20180501050030 fastlane/lib/fastlane/one_off.rb