class Fastlane::SwiftPluginsAPIGenerator

Public Class Methods

new(target_output_path: "swift") click to toggle source
Calls superclass method Fastlane::SwiftAPIGenerator::new
# File fastlane/lib/fastlane/swift_fastlane_api_generator.rb, line 92
def initialize(target_output_path: "swift")
  @target_filename = "Plugins.swift"
  @target_output_path = File.expand_path(target_output_path)
  @generated_paths = []

  super()

  # Gets list of plugin actions
  plugin_actions = Fastlane.plugin_manager.plugin_references.values.flat_map do |info|
    info[:actions]
  end

  # Action references from plugins
  available_plugins = plugin_actions.map do |plugin_action|
    Fastlane::Runner.new.class_reference_from_action_name(plugin_action)
  end

  # Excludes all actions that aren't pluign actions (including external actions)
  available_actions = []
  ActionsList.all_actions do |action|
    next unless action.respond_to?(:action_name)
    available_actions << action.action_name unless available_plugins.include?(action)
  end

  self.actions_not_supported = (["import", "import_from_git"] + available_actions).to_set
  self.action_options_to_ignore = {}
end