public static void Configure(CommandLineApplication app) { app.Command("upload", application => { _appOptions = new AppOptionsRaw(application); _uploadCommandOptions = new UploadCommandOptionsRaw(application); application.OnExecute(async() => { var appConfig = AppOptions.ValidateAndCreate(_appOptions); var commandConfig = UploadCommandOptions.VerifyAndCreateArgs(_uploadCommandOptions); var command = new UploadCommand(); var exitCode = await command.RunAsync(appConfig, commandConfig).ConfigureAwait(false); return(exitCode); }); }); }
public static UploadCommandOptions VerifyAndCreateArgs(UploadCommandOptionsRaw rawConfig) { if (!rawConfig.PackageSourcePath.HasValue()) { throw new ArgumentException("No Package Source Path specified"); } if (!rawConfig.PackageName.HasValue()) { throw new ArgumentException("No Package Name specified"); } return(new UploadCommandOptions { PackageSourcePath = new DirectoryInfo(rawConfig.PackageSourcePath.Value()), PackageName = rawConfig.PackageName.Value() }); }