public static Command Create(HttpClient httpClient) { var command = new Command( name: "add-file", description: CoreStrings.AddFileCommandDescription); var projectOption = CommonOptions.ProjectOption(); var serviceOption = CommonOptions.ServiceOption(); var additionalImportDirsOption = CommonOptions.AdditionalImportDirsOption(); var accessOption = CommonOptions.AccessOption(); var filesArgument = new Argument <string[]> { Name = "files", Description = CoreStrings.AddFileCommandArgumentDescription, Arity = ArgumentArity.OneOrMore }; command.AddOption(projectOption); command.AddOption(serviceOption); command.AddOption(accessOption); command.AddOption(additionalImportDirsOption); command.AddArgument(filesArgument); command.SetHandler <string, Services, Access, string?, string[], InvocationContext, IConsole>( async(project, services, access, additionalImportDirs, files, context, console) => { try { var command = new AddFileCommand(console, project, httpClient); await command.AddFileAsync(services, access, additionalImportDirs, files); context.ExitCode = 0; } catch (CLIToolException e) { console.LogError(e); context.ExitCode = -1; } }, projectOption, serviceOption, accessOption, additionalImportDirsOption, filesArgument); return(command); }
public static Command Create() { var command = new Command( name: "add-file", description: CoreStrings.AddFileCommandDescription); command.AddArgument(new Argument <string[]> { Name = "files", Description = CoreStrings.AddFileCommandArgumentDescription, Arity = ArgumentArity.OneOrMore }); command.AddOption(CommonOptions.ProjectOption()); command.AddOption(CommonOptions.ServiceOption()); command.AddOption(CommonOptions.AdditionalImportDirsOption()); command.AddOption(CommonOptions.AccessOption()); command.Handler = CommandHandler.Create <IConsole, FileInfo, Services, Access, string, string[]>( async(console, project, services, access, additionalImportDirs, files) => { try { var command = new AddFileCommand(console, project); await command.AddFileAsync(services, access, additionalImportDirs, files); return(0); } catch (CLIToolException e) { console.LogError(e); return(-1); } }); return(command); }