require "commander" require "fastlane_core" HighLine.track_eof = false module Scan class CommandsGenerator include Commander::Methods def self.start new.run end def convert_options(options) o = options.__hash__.dup o.delete(:verbose) o end def run program :name, 'scan' program :version, Fastlane::VERSION program :description, Scan::DESCRIPTION program :help, "Author", "Felix Krause " program :help, "Website", "https://fastlane.tools" program :help, "GitHub", "https://github.com/fastlane/fastlane/tree/master/scan" program :help_formatter, :compact global_option("--verbose") { FastlaneCore::Globals.verbose = true } command :tests do |c| c.syntax = "fastlane scan" c.description = Scan::DESCRIPTION FastlaneCore::CommanderGenerator.new.generate(Scan::Options.available_options, command: c) c.action do |_args, options| config = FastlaneCore::Configuration.create(Scan::Options.available_options, convert_options(options)) Scan::Manager.new.work(config) end end command :init do |c| c.syntax = "fastlane scan init" c.description = "Creates a new Scanfile for you" c.action do |_args, options| containing = FastlaneCore::Helper.fastlane_enabled_folder_path path = File.join(containing, Scan.scanfile_name) UI.user_error!("Scanfile already exists").yellow if File.exist?(path) template = File.read("#{Scan::ROOT}/lib/assets/ScanfileTemplate") File.write(path, template) UI.success("Successfully created '#{path}'. Open the file using a code editor.") end end default_command :tests run! end end end