diff --git a/src/code/PublishPSResource.cs b/src/code/PublishPSResource.cs index f10648451..5ec41742b 100644 --- a/src/code/PublishPSResource.cs +++ b/src/code/PublishPSResource.cs @@ -540,10 +540,45 @@ private string CreateNuspec( { if (privateData["PSData"] is Hashtable psData) { - if (psData.ContainsKey("Prerelease") && psData["Prerelease"] is string preReleaseVersion) + if (psData.ContainsKey("prerelease") && psData["prerelease"] is string preReleaseVersion) { version = string.Format(@"{0}-{1}", version, preReleaseVersion); } + + if (psData.ContainsKey("licenseuri") && psData["licenseuri"] is string licenseUri) + + { + metadataElementsDictionary.Add("license", licenseUri.Trim()); + } + + if (psData.ContainsKey("projecturi") && psData["projecturi"] is string projectUri) + { + metadataElementsDictionary.Add("projectUrl", projectUri.Trim()); + } + + if (psData.ContainsKey("iconuri") && psData["iconuri"] is string iconUri) + { + metadataElementsDictionary.Add("iconUrl", iconUri.Trim()); + } + + if (psData.ContainsKey("releasenotes")) + { + if (psData["releasenotes"] is string releaseNotes) + { + metadataElementsDictionary.Add("releaseNotes", releaseNotes.Trim()); + } + else if (psData["releasenotes"] is string[] releaseNotesArr) + { + metadataElementsDictionary.Add("releaseNotes", string.Join("\n", releaseNotesArr)); + } + } + + // defaults to false + string requireLicenseAcceptance = psData.ContainsKey("requirelicenseacceptance") ? psData["requirelicenseacceptance"].ToString() : "false"; + + metadataElementsDictionary.Add("requireLicenseAcceptance", requireLicenseAcceptance); + + if (psData.ContainsKey("Tags") && psData["Tags"] is Array manifestTags) { var tagArr = new List(); @@ -572,21 +607,11 @@ private string CreateNuspec( metadataElementsDictionary.Add("owners", parsedMetadataHash["companyname"].ToString().Trim()); } - // defaults to false - var requireLicenseAcceptance = parsedMetadataHash.ContainsKey("requirelicenseacceptance") ? parsedMetadataHash["requirelicenseacceptance"].ToString().ToLower().Trim() - : "false"; - metadataElementsDictionary.Add("requireLicenseAcceptance", requireLicenseAcceptance); - if (parsedMetadataHash.ContainsKey("description")) { metadataElementsDictionary.Add("description", parsedMetadataHash["description"].ToString().Trim()); } - if (parsedMetadataHash.ContainsKey("releasenotes")) - { - metadataElementsDictionary.Add("releaseNotes", parsedMetadataHash["releasenotes"].ToString().Trim()); - } - if (parsedMetadataHash.ContainsKey("copyright")) { metadataElementsDictionary.Add("copyright", parsedMetadataHash["copyright"].ToString().Trim()); @@ -602,20 +627,6 @@ private string CreateNuspec( } metadataElementsDictionary.Add("tags", tags); - if (parsedMetadataHash.ContainsKey("licenseurl")) - { - metadataElementsDictionary.Add("licenseUrl", parsedMetadataHash["licenseurl"].ToString().Trim()); - } - - if (parsedMetadataHash.ContainsKey("projecturl")) - { - metadataElementsDictionary.Add("projectUrl", parsedMetadataHash["projecturl"].ToString().Trim()); - } - - if (parsedMetadataHash.ContainsKey("iconurl")) - { - metadataElementsDictionary.Add("iconUrl", parsedMetadataHash["iconurl"].ToString().Trim()); - } // Example nuspec: /* @@ -628,7 +639,7 @@ private string CreateNuspec( Microsoft,PowerShell false MIT - https://licenses.nuget.org/MIT + https://licenses.nuget.org/MIT Powershell_black_64.png https://github.com/PowerShell/PowerShell Example description here