static void Main(string[] args) { string command = "new mvc -o hello"; command = "build -c release"; var _new = new LinkingConsoleCommand("new") .AddCommands(new Mvc(), new ConsoleLib()); var _add = new LinkingConsoleCommand("add") { Description = "Add something new" } .AddCommands(new Package()); var control = new ConsoleControl(); control.AddCommand(_new, _add, new Builder()); // adding root commands control.Compute(args); while (true) { control.Compute(command.Trim().Split(" ")); command = Console.ReadLine(); } }
public static async Task Main(string[] args) { var provider = new ServiceCollection() .AddBusiness() .BuildServiceProvider(); var control = provider.GetService <PackageControl>(); var consoleControl = new ConsoleControl(); // temp test -- //await control.InstallAsync("netcore.angular"); // --- ConsoleOption packageName; consoleControl.AddCommand(new ConsoleCommand("add") { Description = "Add a new package", Options = new ConsoleOption[] { packageName = new ConsoleOption("package name", "", "") }, OnRunAsync = async() => await control.InstallAsync(packageName.Value) }); await consoleControl.ComputeAsync(args); }