scripts/UpdateRequiredModules.ps1 (28 lines of code) (raw):
$data = Import-PowerShellDataFile -Path "./src/AzOps.psd1"
$modules = @()
$existingmodule = @()
$newmodule = @()
$updated = $false
$data.RequiredModules | ForEach-Object {
$moduleVersion = New-Object System.Version($_.RequiredVersion)
$galleryVersion = New-Object System.Version((Find-Module -Name $_.ModuleName).Version)
if ($moduleVersion -lt $galleryVersion) {
$newmodule = @{
"ModuleName" = $_.ModuleName
"RequiredVersion" = $galleryVersion
}
$updated = $true
$modules += $newmodule
} else {
$existingmodule = @{
"ModuleName" = $_.ModuleName
"RequiredVersion" = $moduleVersion
}
$modules += $existingmodule
}
}
if ($updated -eq $true) {
Update-ModuleManifest -Path "./src/AzOps.psd1" -RequiredModules $modules
$filePath = Join-Path -Path "/tmp" -ChildPath "updates.json"
ConvertTo-Json $modules | Out-File -FilePath $filePath
}