protected NuGetFixture() { Environment = FakeEnvironment.CreateUnixEnvironment(); Process = Substitute.For <IProcess>(); Process.GetExitCode().Returns(0); ProcessRunner = Substitute.For <IProcessRunner>(); ProcessRunner.Start(Arg.Any <FilePath>(), Arg.Any <ProcessSettings>()).Returns(Process); Globber = Substitute.For <IGlobber>(); Globber.Match("./tools/**/nuget.exe").Returns(new[] { (FilePath)"/Working/tools/NuGet.exe" }); Globber.Match("./tools/**/NuGet.exe").Returns(new[] { (FilePath)"/Working/tools/NuGet.exe" }); NuGetToolResolver = Substitute.For <INuGetToolResolver>(); Log = Substitute.For <ICakeLog>(); FileSystem = new FakeFileSystem(Environment); // By default, there is a default tool. NuGetToolResolver.ResolvePath().Returns("/Working/tools/NuGet.exe"); FileSystem.CreateFile("/Working/tools/NuGet.exe"); // Set standard output. Process.GetStandardOutput().Returns(new string[0]); }
public void GivenDefaultToolDoNotExist() { var toolPath = new FilePath("/Working/tools/NuGet.exe"); FileSystem.EnsureFileDoNotExist(toolPath); NuGetToolResolver.ResolvePath().Returns("/NonWorking/tools/NuGet.exe"); }
public void Should_Resolve_In_Correct_Order() { // Given var environment = Substitute.For <ICakeEnvironment>(); environment.WorkingDirectory.Returns("/Working"); environment.IsUnix().Returns(false); environment.GetEnvironmentVariable("NUGET_EXE").Returns(c => null); environment.GetEnvironmentVariable("path").Returns(c => null); var fileSystem = new FakeFileSystem(environment); var globber = Substitute.For <IGlobber>(); globber.GetFiles("./tools/**/NuGet.exe").Returns(new FilePath[] { }); var resolver = new NuGetToolResolver(fileSystem, environment, globber); // When Record.Exception(() => resolver.ResolvePath()); // Then Received.InOrder(() => { // 1. Look in the tools directory. globber.GetFiles("./tools/**/NuGet.exe"); // 2. Look for the environment variable NUGET_EXE. environment.GetEnvironmentVariable("NUGET_EXE"); // 3. Panic and look in the path variable. environment.GetEnvironmentVariable("path"); }); }
public static void NuGetInstall(this ICakeContext context, string packageId, NuGetInstallSettings settings) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var resolver = new NuGetToolResolver(context.FileSystem, context.Environment, context.Tools); var runner = new NuGetInstaller(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, resolver); runner.Install(packageId, settings); }
public static void NuGetRemoveSource(this ICakeContext context, string name, string source, NuGetSourcesSettings settings) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var resolver = new NuGetToolResolver(context.FileSystem, context.Environment, context.Tools); var runner = new NuGetSources(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, resolver); runner.RemoveSource(name, source, settings); }
public static void NuGetPush(this ICakeContext context, FilePath packageFilePath, NuGetPushSettings settings) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var resolver = new NuGetToolResolver(context.FileSystem, context.Environment, context.Tools); var packer = new NuGetPusher(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, resolver, context.Log); packer.Push(packageFilePath, settings); }
public static void NuGetInit(this ICakeContext context, string source, string destination, NuGetInitSettings settings) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var resolver = new NuGetToolResolver(context.FileSystem, context.Environment, context.Tools); var runner = new NuGetIniter(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, resolver); runner.Init(source, destination, settings); }
public static void NuGetUpdate(this ICakeContext context, FilePath targetFile, NuGetUpdateSettings settings) { if (context == null) { throw new ArgumentNullException("context"); } var resolver = new NuGetToolResolver(context.FileSystem, context.Environment, context.Tools); var runner = new NuGetUpdater(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, resolver); runner.Update(targetFile, settings); }
public static void NuGetSetApiKey(this ICakeContext context, string apiKey, string source, NuGetSetApiKeySettings settings) { if (context == null) { throw new ArgumentNullException("context"); } var resolver = new NuGetToolResolver(context.FileSystem, context.Environment, context.Tools); var runner = new NuGetSetApiKey(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, resolver); runner.SetApiKey(apiKey, source, settings); }
public static void NuGetSetProxy(this ICakeContext context, string proxy, string username, string password, NuGetSetProxySettings settings) { if (context == null) { throw new ArgumentNullException("context"); } var resolver = new NuGetToolResolver(context.FileSystem, context.Environment, context.Tools); var runner = new NuGetSetProxy(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, resolver); runner.SetProxy(proxy, username, password, settings); }
public static void NuGetPack(this ICakeContext context, FilePath filePath, NuGetPackSettings settings) { if (context == null) { throw new ArgumentNullException("context"); } var resolver = new NuGetToolResolver(context.FileSystem, context.Environment, context.Tools); var packer = new NuGetPacker(context.FileSystem, context.Environment, context.ProcessRunner, context.Log, context.Tools, resolver); packer.Pack(filePath, settings); }
public static void NuGetInstallFromConfig(this ICakeContext context, FilePath packageConfigPath, NuGetInstallSettings settings) { if (context == null) { throw new ArgumentNullException("context"); } var resolver = new NuGetToolResolver(context.FileSystem, context.Environment, context.Tools); var runner = new NuGetInstaller(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, resolver); runner.InstallFromConfig(packageConfigPath, settings); }
public static bool NuGetHasSource(this ICakeContext context, string source, NuGetSourcesSettings settings) { if (context == null) { throw new ArgumentNullException("context"); } var resolver = new NuGetToolResolver(context.FileSystem, context.Environment, context.Tools); var runner = new NuGetSources(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, resolver); return(runner.HasSource(source, settings)); }
public void Should_Be_Able_To_Resolve_Path_From_The_Tools_Directory() { // Given var environment = FakeEnvironment.CreateUnixEnvironment(); var fileSystem = new FakeFileSystem(environment); var globber = Substitute.For <IGlobber>(); globber.Match("./tools/**/NuGet.exe").Returns(p => new FilePath[] { "/root/tools/nuget.exe" }); fileSystem.CreateFile("/root/tools/nuget.exe"); var resolver = new NuGetToolResolver(fileSystem, environment, globber); // When var result = resolver.ResolvePath(); // Then Assert.Equal("/root/tools/nuget.exe", result.FullPath); }
public void Should_Be_Able_To_Resolve_Path_Via_NuGet_Environment_Variable() { // Given var globber = Substitute.For <IGlobber>(); var environment = Substitute.For <ICakeEnvironment>(); environment.WorkingDirectory.Returns("/Working"); environment.IsUnix().Returns(false); environment.GetEnvironmentVariable("NUGET_EXE").Returns("/programs/nuget.exe"); var fileSystem = new FakeFileSystem(environment); fileSystem.CreateFile("/programs/nuget.exe"); var resolver = new NuGetToolResolver(fileSystem, environment, globber); // When var result = resolver.ResolvePath(); // Then Assert.Equal("/programs/nuget.exe", result.FullPath); }
public void Should_Throw_If_NuGet_Exe_Could_Not_Be_Found() { // Given var environment = Substitute.For <ICakeEnvironment>(); environment.WorkingDirectory.Returns("/Working"); environment.IsUnix().Returns(false); environment.GetEnvironmentVariable("NUGET_EXE").Returns(c => null); environment.GetEnvironmentVariable("path").Returns(c => null); var fileSystem = new FakeFileSystem(environment); var globber = Substitute.For <IGlobber>(); globber.GetFiles("./tools/**/NuGet.exe").Returns(new FilePath[] { }); var resolver = new NuGetToolResolver(fileSystem, environment, globber); // When var result = Record.Exception(() => resolver.ResolvePath()); // Assert Assert.IsCakeException(result, "Could not locate nuget.exe."); }
public void CreatePackagesForAllNuSpecOutputToArtifactsFolder(string fullVersion) { var files = _globber.GetFiles("./**/*.nuspec").ToList(); if (files.Count == 0) { throw new Exception("No .nuspec files found to create packages from"); } var nuGetToolResolver = new NuGetToolResolver(_fileSystem, _environment, _tools); var packer = new NuGetPacker(_fileSystem, _environment, _processRunner, _log, _tools, nuGetToolResolver); var output = new DirectoryPath("./Artifacts"); var directory = _fileSystem.GetDirectory(output); if (!directory.Exists) { directory.Create(); } var nuGetPackSettings = new NuGetPackSettings { Version = fullVersion, OutputDirectory = output.FullPath, IncludeReferencedProjects = true, Properties = new Dictionary <string, string> { { "Configuration", Configuration } }, }; foreach (var nuspec in files) { _log.Information(nuspec.FullPath); var csproj = nuspec.ChangeExtension(".csproj"); _log.Information(csproj.FullPath); packer.Pack(csproj.FullPath, nuGetPackSettings); } }
public FilePath Resolve() { var resolver = new NuGetToolResolver(FileSystem, Environment, Tools); return(resolver.ResolvePath()); }