DscResource.Tests/TestHelper.psm1
<# .SYNOPSIS Creates a new nuspec file for nuget package. Will create $packageName.nuspec in $destinationPath .EXAMPLE New-Nuspec -packageName "TestPackage" -version 1.0.1 -licenseUrl "http://license" -packageDescription "description of the package" -tags "tag1 tag2" -destinationPath C:\temp #> function New-Nuspec { param ( [Parameter(Mandatory=$true)] [string] $packageName, [Parameter(Mandatory=$true)] [string] $version, [Parameter(Mandatory=$true)] [string] $author, [Parameter(Mandatory=$true)] [string] $owners, [string] $licenseUrl, [string] $projectUrl, [string] $iconUrl, [string] $packageDescription, [string] $releaseNotes, [string] $tags, [Parameter(Mandatory=$true)] [string] $destinationPath ) $year = (Get-Date).Year $content += "<?xml version=""1.0""?> <package xmlns=""http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd""> <metadata> <id>$packageName</id> <version>$version</version> <authors>$author</authors> <owners>$owners</owners>" if (-not [string]::IsNullOrEmpty($licenseUrl)) { $content += " <licenseUrl>$licenseUrl</licenseUrl>" } if (-not [string]::IsNullOrEmpty($projectUrl)) { $content += " <projectUrl>$projectUrl</projectUrl>" } if (-not [string]::IsNullOrEmpty($iconUrl)) { $content += " <iconUrl>$iconUrl</iconUrl>" } $content +=" <requireLicenseAcceptance>true</requireLicenseAcceptance> <description>$packageDescription</description> <releaseNotes>$releaseNotes</releaseNotes> <copyright>Copyright $year</copyright> <tags>$tags</tags> </metadata> </package>" if (-not (Test-Path -Path $destinationPath)) { New-Item -Path $destinationPath -ItemType Directory > $null } $nuspecPath = Join-Path $destinationPath "$packageName.nuspec" New-Item -Path $nuspecPath -ItemType File -Force > $null Set-Content -Path $nuspecPath -Value $content } |