fix: Output suppression
This commit is contained in:
@@ -1,37 +1,40 @@
|
||||
function Assert-ModuleAvailability {
|
||||
[CmdletBinding()]
|
||||
[OutputType([void]) ]
|
||||
param(
|
||||
[string]$ModuleName,
|
||||
[string]$RequiredVersion,
|
||||
[string[]]$SubModules = @()
|
||||
)
|
||||
process {
|
||||
try {
|
||||
$module = Get-Module -ListAvailable -Name $ModuleName | Where-Object { $_.Version -ge [version]$RequiredVersion }
|
||||
if ($null -eq $module) {
|
||||
Write-Verbose "Installing $ModuleName module..."
|
||||
Install-Module -Name $ModuleName -RequiredVersion $RequiredVersion -Force -AllowClobber -Scope CurrentUser | Out-Null
|
||||
}
|
||||
elseif ($module.Version -lt [version]$RequiredVersion) {
|
||||
Write-Verbose "Updating $ModuleName module to required version..."
|
||||
Update-Module -Name $ModuleName -RequiredVersion $RequiredVersion -Force | Out-Null
|
||||
}
|
||||
else {
|
||||
Write-Verbose "$ModuleName module is already at required version or newer."
|
||||
}
|
||||
if ($SubModules.Count -gt 0) {
|
||||
foreach ($subModule in $SubModules) {
|
||||
Write-Verbose "Importing submodule $ModuleName.$subModule..."
|
||||
Get-Module "$ModuleName.$subModule" | Import-Module -RequiredVersion $RequiredVersion -ErrorAction Stop | Out-Null
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Verbose "Importing module $ModuleName..."
|
||||
Import-Module -Name $ModuleName -RequiredVersion $RequiredVersion -ErrorAction Stop -WarningAction SilentlyContinue | Out-Null
|
||||
}
|
||||
|
||||
try {
|
||||
$module = Get-Module -ListAvailable -Name $ModuleName | Where-Object { $_.Version -ge [version]$RequiredVersion }
|
||||
|
||||
if ($null -eq $module) {
|
||||
Write-Host "Installing $ModuleName module..." -ForegroundColor Yellow
|
||||
Install-Module -Name $ModuleName -RequiredVersion $RequiredVersion -Force -AllowClobber -Scope CurrentUser | Out-Null
|
||||
}
|
||||
elseif ($module.Version -lt [version]$RequiredVersion) {
|
||||
Write-Host "Updating $ModuleName module to required version..." -ForegroundColor Yellow
|
||||
Update-Module -Name $ModuleName -RequiredVersion $RequiredVersion -Force | Out-Null
|
||||
}
|
||||
else {
|
||||
Write-Host "$ModuleName module is already at required version or newer." -ForegroundColor Gray
|
||||
}
|
||||
|
||||
if ($SubModules.Count -gt 0) {
|
||||
foreach ($subModule in $SubModules) {
|
||||
Write-Host "Importing submodule $ModuleName.$subModule..." -ForegroundColor DarkGray
|
||||
Import-Module -Name "$ModuleName.$subModule" -RequiredVersion $RequiredVersion -ErrorAction Stop | Out-Null
|
||||
}
|
||||
} else {
|
||||
Write-Host "Importing module $ModuleName..." -ForegroundColor DarkGray
|
||||
Import-Module -Name $ModuleName -RequiredVersion $RequiredVersion -ErrorAction Stop -WarningAction SilentlyContinue | Out-Null
|
||||
catch {
|
||||
throw "Assert-ModuleAvailability:`n$_"
|
||||
}
|
||||
}
|
||||
catch {
|
||||
Write-Warning "An error occurred with module $ModuleName`: $_"
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user