Пример #1
0
 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);
 }
Пример #2
0
 protected CommandBase(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller, CommonArguments args)
 {
     Renderer   = renderer;
     Config     = GetConfig(config, args.VaM);
     Controller = controller;
     Controller.ChecksEnabled = args.Force;
 }
Пример #3
0
 public GetCommand(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller, CommonArguments args)
     : base(renderer, config, controller, args)
 {
 }
Пример #4
0
        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);
        }
Пример #5
0
 public Program(IConsoleRenderer renderer, PartyConfiguration config, IPartyController controller)
 {
     _renderer   = renderer;
     _config     = config;
     _controller = controller;
 }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
        }
Пример #11
0
        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);
        }