public static void Configure(CommandLineApplication app) { app.Name = "dbtool"; app.HelpOption("-?|-h|--help"); var options = new GlobalOptions(); options.LocalConfigFilePathOption = app.Option("--config|-c", "Config file path", CommandOptionType.SingleValue) .Accepts(configure => configure.ExistingFile("Configuration file does not exist")); options.FormatOption = app.Option("--format|-f", "Exporting/importing format (xml | json)", CommandOptionType.SingleValue) .Accepts(config => config.Values(ignoreCase: true, "xml", "json")); // Register commands app.Command("export", c => ExportCommand.Configure(c, options)); app.Command("import", c => ImportCommand.Configure(c, options)); app.Command("connections", c => ConnectionsCommand.Configure(c, options)); app.OnExecute(new RootCommand(app, options).Run); }
public static void Configure(CommandLineApplication command, GlobalOptions options) { command.Description = "Imports some DB from a backup archive with the specified format (XML, JSON)"; command.HelpOption("-?|-h|--help"); command.Options.Add(options.FormatOption); command.Options.Add(options.LocalConfigFilePathOption); var arguments = new ArgumentsAndOptions(command); Func <int> runCommandFunc = new ImportCommand(arguments, options).Run; command.OnExecute(runCommandFunc); }