Fixes external dependencies in updated module manifest files #7
@ -20,27 +20,6 @@ Describe 'Update-ModuleMeta' {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context 'Unit Tests' -Tag 'Unit' {
|
Context 'Unit Tests' -Tag 'Unit' {
|
||||||
BeforeAll {
|
|
||||||
# Mock Drone env if its not present
|
|
||||||
if (!$Env:DRONE) {
|
|
||||||
$Env:DRONE = $true
|
|
||||||
$Env:DRONE_BUILD_EVENT = 'tag'
|
|
||||||
$Env:DRONE_SEMVER = '9.9.9-dev9'
|
|
||||||
$Env:DRONE_SEMVER_SHORT = '9.9.9'
|
|
||||||
$Env:DRONE_SEMVER_PRERELEASE = 'dev9'
|
|
||||||
}
|
|
||||||
Mock 'Get-RepoPath' -ModuleName 'DroneHelper' {
|
|
||||||
return @{
|
|
||||||
Src = @{
|
|
||||||
Manifest = @{
|
|
||||||
Item = @{
|
|
||||||
FullName = './resources/MyModule.psd1'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
It 'Update test module manifest' {
|
It 'Update test module manifest' {
|
||||||
{
|
{
|
||||||
$Env:DRONE = $true
|
$Env:DRONE = $true
|
||||||
@ -48,7 +27,7 @@ Describe 'Update-ModuleMeta' {
|
|||||||
$Env:DRONE_SEMVER = '9.9.9-dev9'
|
$Env:DRONE_SEMVER = '9.9.9-dev9'
|
||||||
$Env:DRONE_SEMVER_SHORT = '9.9.9'
|
$Env:DRONE_SEMVER_SHORT = '9.9.9'
|
||||||
$Env:DRONE_SEMVER_PRERELEASE = 'dev9'
|
$Env:DRONE_SEMVER_PRERELEASE = 'dev9'
|
||||||
Update-ModuleMeta -Verbose
|
Update-ModuleMeta -Path './resources/MyModule.psd1' -Verbose
|
||||||
} | Should -Not -Throw
|
} | Should -Not -Throw
|
||||||
$data = Import-PowerShellDataFile -Path './resources/MyModule.psd1'
|
$data = Import-PowerShellDataFile -Path './resources/MyModule.psd1'
|
||||||
$data.ModuleVersion | Should -Be '9.9.9'
|
$data.ModuleVersion | Should -Be '9.9.9'
|
||||||
|
@ -27,11 +27,28 @@ function Update-ModuleMeta {
|
|||||||
'',
|
'',
|
||||||
Justification = 'system state does not change permanent in temp build clients.'
|
Justification = 'system state does not change permanent in temp build clients.'
|
||||||
)]
|
)]
|
||||||
param ()
|
param (
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
[ValidateScript(
|
||||||
|
{
|
||||||
|
if (!(Test-Path -Path $_)) {
|
||||||
|
throw 'Could not find file: {0}' -f $_
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)]
|
||||||
|
[ValidateNotNullOrEmpty()]
|
||||||
|
[string]$Path
|
||||||
|
)
|
||||||
|
|
||||||
process {
|
process {
|
||||||
if ($Env:DRONE) {
|
if (!$Path) {
|
||||||
$Repo = Get-RepoPath
|
$Repo = Get-RepoPath
|
||||||
|
$ManifestFilePath = $Repo.Src.Manifest.Item.FullName
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$ManifestFilePath = $Path
|
||||||
|
}
|
||||||
|
if ($Env:DRONE) {
|
||||||
if ($Env:DRONE_BUILD_EVENT -eq 'tag') {
|
if ($Env:DRONE_BUILD_EVENT -eq 'tag') {
|
||||||
if ($null -ne $Env:DRONE_SEMVER) {
|
if ($null -ne $Env:DRONE_SEMVER) {
|
||||||
$nVersion = $Env:DRONE_SEMVER_SHORT
|
$nVersion = $Env:DRONE_SEMVER_SHORT
|
||||||
@ -40,7 +57,7 @@ function Update-ModuleMeta {
|
|||||||
$nPreRelease = $Env:DRONE_SEMVER_PRERELEASE
|
$nPreRelease = $Env:DRONE_SEMVER_PRERELEASE
|
||||||
}
|
}
|
||||||
$DataParams = @{
|
$DataParams = @{
|
||||||
Path = $Repo.Src.Manifest.Item.FullName
|
Path = $ManifestFilePath
|
||||||
ErrorAction = 'Stop'
|
ErrorAction = 'Stop'
|
||||||
}
|
}
|
||||||
# Getting the module manifest as imported object
|
# Getting the module manifest as imported object
|
||||||
@ -63,7 +80,7 @@ function Update-ModuleMeta {
|
|||||||
$ModManifestData.PrivateData.PSData.Prerelease = $nPreRelease
|
$ModManifestData.PrivateData.PSData.Prerelease = $nPreRelease
|
||||||
}
|
}
|
||||||
|
|
||||||
$ManifestData = Test-ModuleManifest -Path $Repo.Src.Manifest.Item.FullName
|
$ManifestData = Test-ModuleManifest -Path $ManifestFilePath
|
||||||
|
|
||||||
if (
|
if (
|
||||||
($nVersion -ne $ManifestData.Version) -or
|
($nVersion -ne $ManifestData.Version) -or
|
||||||
|
Reference in New Issue
Block a user