public void AssemblyNameReplacesNullDescription() { var console = new ConsoleMock(); const string anyAssemblyName = "any.assembly.name"; var nullDataSource = new Mock <INuspecDataSource>().Object; var nuspecBuilder = new NuspecBuilder(anyAssemblyName); nuspecBuilder.SetMetadata(nullDataSource, new List <ManifestDependency>()); nuspecBuilder.Save(console.Object); var nuspecContents = File.ReadAllText(nuspecBuilder.FilePath); Assert.That(nuspecContents, Contains.Substring("<description>" + anyAssemblyName + "</description>")); console.AssertConsoleHasNoErrorsOrWarnings(); }
/// <summary> /// Creates a NuGet package with .nupkg extension and with a PNG image named "icon.png" /// </summary> /// <param name="path">Path to NuGet package</param> /// <param name="iconName">Icon filename with .png extension</param> private static void CreateDummyPackage( string zipPath, string iconName = "icon.png", string iconFile = "icon.png", string iconFileSourceElement = "icon.png", string iconFileTargetElement = "", bool isRealImage = true) { var dir = Path.GetDirectoryName(zipPath); var holdDir = "pkg"; var folderPath = Path.Combine(dir, holdDir); // base dir Directory.CreateDirectory(folderPath); // create nuspec var nuspec = NuspecBuilder.Create() .WithIcon(iconName) .WithFile(iconFileSourceElement, iconFileTargetElement); // create png image var iconPath = Path.Combine(folderPath, iconFile); var iconDir = Path.GetDirectoryName(iconPath); Directory.CreateDirectory(iconDir); if (isRealImage) { CreateNoisePngImage(iconPath); } else { File.WriteAllText(iconPath, "I am an image"); } // Create nuget package using (var nuspecStream = new MemoryStream()) using (FileStream nupkgStream = File.Create(zipPath)) using (var writer = new StreamWriter(nuspecStream)) { nuspec.Write(writer); writer.Flush(); nuspecStream.Position = 0; var pkgBuilder = new PackageBuilder(stream: nuspecStream, basePath: folderPath); pkgBuilder.Save(nupkgStream); } }
private void btnRun_Click(object sender, EventArgs e) { StringBuilder sb = new StringBuilder(); var dllPath = fldDllPath.Path; var nugetPath = fldNugetPath.Path; foreach (var fileName in clbDll.CheckedItems) { var file = $@"{dllPath}\{fileName}"; byte[] b = File.ReadAllBytes(file); byte[] fb = new byte[b.Length]; b.CopyTo(fb, 0); var assembly = Assembly.Load(fb); var version = assembly.GetName().Version; try { var nuspecBuilder = new NuspecBuilder(file, version.ToString()); var nugetBuilder = new NugetBuilder(nuspecBuilder, nugetPath, $"{version}"); nugetBuilder.Build(); sb.AppendLine($@"create package '{fileName}' successfuly"); } catch (Exception ex) { string getMessage(Exception exception) { if (exception == null) { return(""); } return($@"{exception.Message} -> {getMessage(exception.InnerException)}"); } sb.AppendLine($"create package '{fileName}' failed -> {getMessage(ex)}"); } txtLog.Text = sb.ToString(); txtLog.Refresh(); } sb.AppendLine("Finish..."); txtLog.Text = sb.ToString(); }
private void NugetifyProject(IVsProject projectAdapter, DirectoryInfo solutionRoot, ISharedPackageRepository existingSolutionPackagesRepo) { var targetFramework = TargetFramework != null?VersionUtility.ParseFrameworkName(TargetFramework) : null; var projectNugetifier = CreateProjectNugetifier(projectAdapter); var packagesAdded = projectNugetifier.NugetifyReferences(solutionRoot); projectNugetifier.AddNugetReferenceMetadata(existingSolutionPackagesRepo, packagesAdded, targetFramework); projectAdapter.Save(); if (NuSpec) { var manifestDependencies = projectNugetifier.GetManifestDependencies(packagesAdded); var nuspecBuilder = new NuspecBuilder(projectAdapter.AssemblyName); nuspecBuilder.SetMetadata(this, manifestDependencies); nuspecBuilder.SetDependencies(manifestDependencies, TargetFramework); nuspecBuilder.Save(Console); } }
public void TargetFrameworkAppearsVerbatimInOutput(string targetFramework) { var console = new ConsoleMock(); var nuspecBuilder = new NuspecBuilder("anyAssemblyName"); var anyDependencies = new List <ManifestDependency> { new ManifestDependency { Id = "anyDependency", Version = "0.0.0.0" } }; nuspecBuilder.SetDependencies(anyDependencies, targetFramework); nuspecBuilder.Save(console.Object); var nuspecContents = File.ReadAllText(nuspecBuilder.FilePath); var expectedAssemblyGroupStartTag = string.Format("<group targetFramework=\"{0}\">", targetFramework); Assert.That(nuspecContents, Contains.Substring(expectedAssemblyGroupStartTag)); console.AssertConsoleHasNoErrorsOrWarnings(); }