Skip to content

Commit 3c9f16e

Browse files
committed
Made much faster by only installing missing dependencies unless -Force is specified.
1 parent af1721e commit 3c9f16e

File tree

1 file changed

+0
-52
lines changed

1 file changed

+0
-52
lines changed

build/Install-Dependencies.ps1

Lines changed: 0 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ param(
1919
$Force
2020
)
2121

22-
<<<<<<< HEAD
2322
# Get module settings from the relevant ModuleSettings.json file or a file that is manually specified.
2423
if ($ModuleSettingsPath) {
2524
$SettingsPath = $ModuleSettingsPath
@@ -74,56 +73,5 @@ foreach ($DestinationModuleName in $ModuleSettings.destinationModuleName) {
7473
} catch {
7574
Write-Warning "Failed to update module '$DestinationModuleName' to version ${RequiredVersion}. Error: $_"
7675
}
77-
=======
78-
try {
79-
# Review: are the common functions required for this script? There does not seem to be any dependencies on them [yet?].
80-
. "$PSScriptRoot/common-functions.ps1"
81-
} catch {
82-
Write-Error -Message "Failed to load common-functions.ps1. Error: $_" -RecommendedAction "This script should be run from the 'build' folder. Ensure 'common-functions.ps1' exists and is accessible."
83-
}
84-
85-
# Get module settings from the relevant ModuleSettings.json file.
86-
if ($ModuleSettingsPath) {
87-
$SettingsPath = $ModuleSettingsPath
88-
} else {
89-
$SettingsPath = "$PSScriptRoot/../module/$ModuleName/config/ModuleSettings.json"
90-
}
91-
$ModuleSettings = Get-Content -Path $SettingsPath | ConvertFrom-Json
92-
$RequiredVersion = $ModuleSettings.destinationModuleVersion
93-
94-
# Do not check for installed modules if -Force is specified.
95-
if ($Force) {
96-
Write-Verbose 'Skipping the check for installed prerequisites. Forcing the installation of all required modules.'
97-
} else {
98-
Write-Verbose 'Checking installed modules for required dependencies.'
99-
$InstalledModules = Get-Module -ListAvailable -Verbose:$false | Group-Object -Property Name
100-
}
101-
102-
# Install the AzureAD module.
103-
$SourceModule = $ModuleSettings.sourceModule
104-
if (($InstalledModules.Name -contains $SourceModule) -and -not $Force) {
105-
Write-Verbose "The $SourceModule module is already installed."
106-
} else {
107-
Write-Verbose("Installing Module: $sourceModule")
108-
try {
109-
Install-Module $sourceModule -Scope CurrentUser -Force -AllowClobber
110-
} catch {
111-
Write-Error "Failed to install the $sourceModule module. Error: $_"
112-
}
113-
}
114-
115-
# Install the required module dependencies if missing the required version or if -Force.
116-
foreach ($moduleName in $ModuleSettings.destinationModuleName) {
117-
$InstalledModuleReference = $InstalledModules.Where({ $_.Name -eq $moduleName })
118-
if (-not $InstalledModuleReference -or $Force) {
119-
Write-Verbose "Installing version $RequiredVersion of $moduleName"
120-
try {
121-
Install-Module $moduleName -Scope CurrentUser -RequiredVersion $RequiredVersion -Force -AllowClobber
122-
} catch {
123-
Write-Error "Failed to install module $moduleName ${RequiredVersion}. Error: $_"
124-
}
125-
} elseif ($InstalledModuleReference.Group.Version -contains $RequiredVersion) {
126-
Write-Verbose "Found version $RequiredVersion of $moduleName"
127-
>>>>>>> 48ba4e296 (Add version checks and error handling.)
12876
}
12977
}

0 commit comments

Comments
 (0)