Example #1
0
        public static void NuMain(StringBuilder b, string path, Func <ICommandManager, ICommand> commandBuilder)
        {
            var lastOut    = Console.Out;
            var fileSystem = new PhysicalFileSystem(path ?? Directory.GetCurrentDirectory());

            try
            {
                Console.SetOut(new ConsoleWriter(b));
                RemoveOldFile(fileSystem);
                var program = new NuProgram();
                _initializeMethod.Invoke(program, new[] { fileSystem });
                HttpClient.DefaultCredentialProvider = new ConsoleCredentialProvider();
                foreach (var command2 in program.Commands)
                {
                    program.Manager.RegisterCommand(command2);
                }
                var command = commandBuilder(program.Manager);
                if (!NuProgram.ArgumentCountValid(command))
                {
                    var commandName = command.CommandAttribute.CommandName;
                    Console.WriteLine("InvalidArguments", commandName);
                    program.HelpCommand.ViewHelpForCommand(commandName);
                }
                else
                {
                    command.Execute();
                }
            }
            finally { Console.SetOut(lastOut); }
        }
		public API_NuGet SetUp()
		{
			NuGet_Program = new Program();
			NuGet_Console = new Console();
            return this;
		}