/// <summary> /// Update Nuget NuSpec File with New Values /// </summary> /// <param name="sln"></param> /// <returns></returns> public bool UpdateNuSpec(nugetSpec sln) { List <string> dependencies = new List <string>(); bool requireLicAcceptance = false; StringBuilder builder = new StringBuilder(); builder.AppendLine("<?xml version=\"1.0\"?>"); builder.AppendLine("<package >"); builder.AppendLine(" <metadata>"); builder.AppendLine(" <id>" + sln.csproj + "</id>"); builder.AppendLine(" <authors>"+ sln.authors + "</author>"); builder.AppendLine(" <version>" + sln.version + "</version>"); builder.AppendLine(" <owners>" + sln.owners + "</owners>"); builder.AppendLine(" <licenseUrl>" + sln.LicenseURL + "</licenseUrl>"); builder.AppendLine(" <projectUrl>" + sln.projecturl + "</projectUrl>"); builder.AppendLine(" <iconUrl>" + sln.iconurl + "</iconUrl>"); builder.AppendLine(" <requireLicenseAcceptance>" + requireLicAcceptance.ToString() + "</requireLicenseAcceptance>"); builder.AppendLine(" <description>" + sln.description + "</description>"); builder.AppendLine(" <releaseNotes>" + sln.releasenotes + "</releaseNotes>"); builder.AppendLine(" <copyright>" + sln.copyright + "</copyright>"); builder.AppendLine(" <tags>" + sln.tags + "</tags>"); builder.AppendLine(" <dependencies>"); foreach (string dep in dependencies) { builder.AppendLine(dep); } builder.AppendLine(" </dependencies>"); builder.AppendLine(" </metadata>"); builder.AppendLine("</package>"); return(true); }
/// <summary> /// Read Nuget NuSpec File to Populate nugetSpec Object /// </summary> /// <param name="NuSpecPath"></param> /// <returns></returns> public nugetSpec ReadNuSpec(string NuSpecPath) { nugetSpec sln = new nugetSpec(); _AHK ahk = new _AHK(); _Parse prs = new _Parse(); string nutext = ahk.FileRead(NuSpecPath); if (nutext != "") { sln.csproj = prs.XML_Text(nutext, "<id>"); sln.authors = prs.XML_Text(nutext, "<authors>"); sln.version = prs.XML_Text(nutext, "<version>"); sln.owners = prs.XML_Text(nutext, "<owners>"); sln.LicenseURL = prs.XML_Text(nutext, "<licenseUrl>"); sln.projecturl = prs.XML_Text(nutext, "<projectUrl>"); sln.iconurl = prs.XML_Text(nutext, "<iconUrl>"); sln.requireLicAcceptance = prs.XML_Text(nutext, "<requireLicenseAcceptance>").ToBool(); sln.description = prs.XML_Text(nutext, "<description>"); sln.releasenotes = prs.XML_Text(nutext, "<releaseNotes>"); sln.copyright = prs.XML_Text(nutext, "<copyright>"); sln.tags = prs.XML_Text(nutext, "<tags>"); } return(sln); }
/// <summary> /// Populate Default NugetSpec Values /// </summary> /// <returns></returns> public nugetSpec Defaults() { nugetSpec sln = new nugetSpec(); sln.slnPath = ""; // required sln.csproj = @"C:\_Code\radProjects\radDLLs\sharpAHK\sharpAHK_Dll\AutoHotkey.Interop\sharpAHK.csproj"; sln.description = "AutoHotkey for C#"; sln.releasenotes = "SharpAHK V1 Release"; sln.copyright = "Copyright 2019"; sln.tags = "sharpAHK AutoHotkey"; sln.authors = "LucidMethods"; sln.owners = ""; if (sln.owners.Trim() == "") { sln.owners = sln.authors; } sln.version = ""; if (sln.version.Trim() == "") { sln.version = "1.0.0.1"; } sln.iconurl = ""; sln.LicenseURL = ""; sln.projecturl = ""; //sln.dependencies // list of dependencies to add to nuspec sln.requireLicAcceptance = false; return(sln); }