# frozen_string_literal: true require "thor" require_relative "compliance_fix" require_relative "script" require_relative "../../sub_command_base" module Neetob class CLI module Github module MakePr class Commands < SubCommandBase class_option :repos, type: :array, aliases: "-r", default: ["*"], desc: "Github repo names. Can be matched using the '*' wildcard. Example: \"neeto*\" \"neeto-cal-web\"" class_option :nanos, type: :boolean, aliases: "-n", default: false, desc: "Use this flag to make PRs for the neeto gems" class_option :labels, type: :string, default: "", desc: "Labels you want to add in the PRs. Example: --labels \"bug,priority\"" class_option :local, type: :boolean, default: false, desc: "Use local repos for creating the PRs" desc "compliance-fix", "Create PRs for fixing neeto compliance in all products" def compliance_fix ComplianceFix.new( options[:repos], options[:nanos], options[:sandbox], options[:labels], options[:local]).run end desc "script", "Create PRs after running the given script for each product." option :path, type: :string, aliases: "-p", desc: "Path to UNIX executable script which will be run for each product", required: true option :title, type: :string, aliases: "-t", desc: "Title for the PR" option :branch, type: :string, aliases: "-b", desc: "Feature branch name for the PR" option :description, type: :string, aliases: "-d", desc: "Description of the PR" option :frontend_packages, type: :boolean, aliases: "-f", default: false, desc: "Use this flag to make PRs for the neeto frontend packages" def script Script.new( options[:repos], options[:path], options[:title], options[:branch], options[:description], options[:nanos], options[:frontend_packages], options[:sandbox], options[:labels], options[:local]).run end end end end end end