protected CommandBase(IConsoleRenderer renderer, PartyConfiguration config, IPartyControllerFactory controllerFactory, CommonArguments args) { Renderer = renderer; Config = GetConfig(config, args.VaM); Logger = args.Log == LogLevel.Disabled ? (ILogger) new NullLogger() : new AccumulatorLogger(args.Log); Controller = controllerFactory.Create(Config, Logger, !args.Force); }
protected CommandBase(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller, CommonArguments args) { Renderer = renderer; Config = GetConfig(config, args.VaM); Controller = controller; Controller.ChecksEnabled = args.Force; }
public GetCommand(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller, CommonArguments args) : base(renderer, config, controller, args) { }
public static Command CreateCommand(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller) { var command = new Command("get", "Downloads a package (script, morph or scene) into the saves folder"); AddCommonOptions(command); command.AddArgument(new Argument <string>("package", null) { Arity = ArgumentArity.ExactlyOne }); command.AddOption(new Option("--version", "Choose a specific version to install") { Argument = new Argument <string>() }); command.AddOption(new Option("--noop", "Do not install, just check what it will do")); command.Handler = CommandHandler.Create <GetArguments>(async args => { await new GetCommand(renderer, config, controller, args).ExecuteAsync(args); }); return(command); }
public Program(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller) { _renderer = renderer; _config = config; _controller = controller; }
public static Command CreateCommand(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller) { var command = new Command("upgrade", "Updates scenes to reference scripts from the Party folder. You can specify a package, scene or script to upgrade. If you don't specify anything, all scenes and scripts will be upgraded."); AddCommonOptions(command); // TODO: Specify specific scenes and/or specific scripts and/or specific packages to upgrade command.AddArgument(new Argument <string>("filter")); command.AddOption(new Option("--all", "Upgrade everything")); command.AddOption(new Option("--get", "Downloads registered scripts that were not already downloaded")); command.AddOption(new Option("--fix", "Updates scenes referencing scripts that are not yet in the party folder")); command.AddOption(new Option("--clean", "Deletes the source script after scenes have been updated")); command.AddOption(new Option("--warnings", "Show warnings such as broken scenes or missing scripts")); command.AddOption(new Option("--noop", "Prints what the script will do, but won't actually do anything")); command.AddOption(new Option("--verbose", "Prints every change that will be done on every scene")); command.Handler = CommandHandler.Create <UpgradeArguments>(async args => { await new UpgradeCommand(renderer, config, controller, args).ExecuteAsync(args); }); return(command); }
public static Command CreateCommand(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller) { var command = new Command("publish", "Prepares files for publishing (using a folder, a list of files or a list of urls)"); AddCommonOptions(command); command.AddArgument(new Argument <string>("input", null) { Arity = ArgumentArity.OneOrMore }); command.AddOption(new Option("--package-name", "The name of your package") { Argument = new Argument <string>() }); command.AddOption(new Option("--package-version", "The version of your package") { Argument = new Argument <string>() }); command.AddOption(new Option("--package-author", "The author name of your package") { Argument = new Argument <string>() }); command.AddOption(new Option("--registry", "Path the the index.json file of your locally cloned registry") { Argument = new Argument <FileInfo>().ExistingOnly() }); command.AddOption(new Option("--saves", "Specify a custom saves folder, e.g. when the script is not in the Virt-A-Mate folder") { Argument = new Argument <DirectoryInfo>().ExistingOnly() }); command.AddOption(new Option("--quiet", "Just print the hash and metadata, no questions asked")); command.Handler = CommandHandler.Create <PublishArguments>(async args => { await new PublishCommand(renderer, config, controller, args).ExecuteAsync(args); }); return(command); }
public static Command CreateCommand(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller) { var command = new Command("status", "Shows the state of the current scripts and scenes"); AddCommonOptions(command); command.AddArgument(new Argument <string>("filter") { Arity = ArgumentArity.ZeroOrOne }); command.AddOption(new Option("--breakdown", "Show the list of scenes and files for each script")); command.AddOption(new Option("--warnings", "Show warnings such as broken scenes or missing scripts")); command.AddOption(new Option("--unregistered", "Show all scripts that were not registered")); command.Handler = CommandHandler.Create <StatusArguments>(async args => { await new StatusCommand(renderer, config, controller, args).ExecuteAsync(args); }); return(command); }
public static Command CreateCommand(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller) { var command = new Command("help", "Show useful information about party") { Handler = CommandHandler.Create <HelpArguments>(args => new HelpCommand(renderer, config, controller, args).ExecuteAsync()) }; return(command); }
public static Command CreateCommand(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller) { var command = new Command("show", "Show information about a package"); AddCommonOptions(command); command.AddArgument(new Argument <string>("package", null)); command.AddOption(new Option("--warnings", "Show warnings such as broken scenes or missing scripts")); command.Handler = CommandHandler.Create <ShowArguments>(async args => { await new ShowCommand(renderer, config, controller, args).ExecuteAsync(args); }); return(command); }
public static Command CreateCommand(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller) { var command = new Command("search", "Search for packages in the registry"); AddCommonOptions(command); command.AddArgument(new Argument <string>("query", null)); command.AddOption(new Option("--no-usage", "Do not show usage information from scenes (runs faster)")); command.AddOption(new Option("--warnings", "Show warnings such as broken scenes or missing scripts")); command.Handler = CommandHandler.Create <SearchArguments>(async args => { await new SearchCommand(renderer, config, controller, args).ExecuteAsync(args); }); return(command); }