예제 #1
0
        static void Main(string[] args)
        {
            //args = new string[] {"build", "-dev" };

            IArgumentValidationService  argumentValidationService  = new ArgumentValidationService();
            IEnvironmentSettingsService environmentSettingsService = new EnvironmentSettingsService();

            if (!argumentValidationService.IsValid(args))
            {
                Console.WriteLine(argumentValidationService.Errors[0].Description);
                return;
            }

            try
            {
                EnvironmentSettings settings   = environmentSettingsService.Get(args[1]);
                ICLIService         cliService = new CLIService(settings);

                cliService.CLIProcessStatusChanged += CLIProcessStatusChangedHandler;
                cliService.Generate();
                cliService.CLIProcessStatusChanged -= CLIProcessStatusChangedHandler;
            }
            catch (Exception ex)
            {
                Console.WriteLine("There was an error processing your command.");
            }
        }
예제 #2
0
        public void Configure(string[] args, ICommandLineArgumentParseService commandLineArgumentParseService, ICommandLineArgumentValidationService commandLineArgumentValidationService)
        {
            _commandLineArgumentParseService      = commandLineArgumentParseService;
            _commandLineArgumentValidationService = commandLineArgumentValidationService;

            var commandLineArguments = BuildCommandLineArguments(args);

            if (!_commandLineArgumentValidationService.IsValid(commandLineArguments))
            {
                throw new Exception(_commandLineArgumentValidationService.Errors[0].Description);
            }

            ICLIService cliService = new CLIService(commandLineArguments);

            cliService.CLILogMessageProcessStatusChanged += Program.CLILogMessageHandler;
            cliService.Generate();
            cliService.CLILogMessageProcessStatusChanged -= Program.CLILogMessageHandler;
        }