@@ -84,28 +84,18 @@ if ($Bootstrap) {
8484 ErrorAction = ' Stop'
8585 }
8686
87- $importSucceeded = $false
88- try {
89- Invoke-PSDepend @psDependParameters
90- $importSucceeded = $true
91- Write-Verbose ' Successfully imported existing modules.' - Verbose
92- } catch {
93- Write-Verbose " Could not import all required modules: $_ " - Verbose
94- Write-Verbose ' Attempting to install missing or outdated dependencies...' - Verbose
95- }
87+ $psDependTestParameters = $psDependParameters.Clone ()
88+ $null = $psDependTestParameters.Remove (' Import' )
89+ $psDependTestParameters [' Test' ] = $true
90+ $psDependTestParameters [' Quiet' ] = $true
9691
97- if (-not $importSucceeded ) {
98- try {
99- Invoke-PSDepend @psDependParameters - Install
100- } catch {
101- Write-Error " Failed to install and import required dependencies: $_ "
102- Write-Error ' This may be due to locked module files. Please restart the build environment or clear module locks.'
103- if ($_.Exception.InnerException ) {
104- Write-Error " Inner exception: $ ( $_.Exception.InnerException.Message ) "
105- }
106- throw
107- }
92+ if (-not (Invoke-PSDepend @psDependTestParameters )) {
93+ $psDependInstallParameters = $psDependParameters.Clone ()
94+ $null = $psDependInstallParameters.Remove (' Import' )
95+ Invoke-PSDepend @psDependInstallParameters - Install
10896 }
97+
98+ Invoke-PSDepend @psDependParameters
10999} else {
110100 if (-not (Get-Module - Name ' PSDepend' - ListAvailable)) {
111101 throw ' Missing dependencies. Please run with the "-Bootstrap" flag to install dependencies.'
0 commit comments