/// <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);
 }
Exemple #3
0
 /// <summary>
 /// Initializes an instance of <see cref="CommandInitializer"/>.
 /// </summary>
 public CommandInitializer(ICommandOptionInputConverter commandOptionInputConverter)
 {
     _commandOptionInputConverter = commandOptionInputConverter.GuardNotNull(nameof(commandOptionInputConverter));
 }