/// <inheritdoc /> public ICliApplication Build() { // Use defaults for required parameters that were not configured _title = _title ?? GetDefaultTitle() ?? "App"; _executableName = _executableName ?? GetDefaultExecutableName() ?? "app"; _versionText = _versionText ?? GetDefaultVersionText() ?? "v1.0"; _console = _console ?? new SystemConsole(); _commandFactory = _commandFactory ?? new CommandFactory(); _commandOptionInputConverter = _commandOptionInputConverter ?? new CommandOptionInputConverter(); // Project parameters to expected types var metadata = new ApplicationMetadata(_title, _executableName, _versionText, _description); var configuration = new ApplicationConfiguration(_commandTypes.ToArray(), _isDebugModeAllowed, _isPreviewModeAllowed); return(new CliApplication(metadata, configuration, _console, new CommandInputParser(), new CommandSchemaResolver(), _commandFactory, new CommandInitializer(_commandOptionInputConverter), new HelpTextRenderer())); }
/// <inheritdoc /> public ICliApplicationBuilder UseCommandOptionInputConverter(ICommandOptionInputConverter converter) { _commandOptionInputConverter = converter.GuardNotNull(nameof(converter)); return(this); }
/// <summary> /// Initializes an instance of <see cref="CommandInitializer"/>. /// </summary> public CommandInitializer(ICommandOptionInputConverter commandOptionInputConverter) { _commandOptionInputConverter = commandOptionInputConverter.GuardNotNull(nameof(commandOptionInputConverter)); }