@@ -44,7 +44,7 @@ Param (
4444 $IdHost = " $ ( $Topology ) id.localhost" ,
4545
4646 [string ]
47- $SitecoreGalleryRepositoryLocation = " https://sitecore.myget.org/F/sc-powershell/api/v2 " ,
47+ $SitecoreGalleryRepositoryLocation = " https://nuget. sitecore.com/resources/v2/ " ,
4848
4949 [string ]
5050 $CertDataFolder = " .\traefik\certs" ,
@@ -185,17 +185,36 @@ function Update-CertsConfigFile{
185185 Write-Information - MessageData " certs_config.yaml file was successfully updated." - InformationAction Continue
186186}
187187
188- function InstallModule {
189- param (
190- [string ]$ModuleName ,
191- [string ]$ModuleVersion ,
192- [string ]$RepositoryName
188+ function InstallModule {
189+ Param (
190+ [String ]$ModuleName ,
191+ [String ]$ModuleVersion
193192 )
193+ try {
194+ $repository = Get-PSRepository | Where-Object { $_.SourceLocation -eq $SitecoreGalleryRepositoryLocation }
195+ if (! $repository ) {
196+ $tempRepositoryName = " Temp" + (New-Guid )
197+ Register-PSRepository - Name $tempRepositoryName - SourceLocation $SitecoreGalleryRepositoryLocation - InstallationPolicy Trusted
198+ $repository = Get-PSRepository | Where-Object { $_.SourceLocation -eq $SitecoreGalleryRepositoryLocation }
199+ }
200+ if (! $ModuleVersion ) {
201+ $ModuleVersion = (Find-Module - Name $ModuleName - Repository $repository.Name - AllowPrerelease).Version
202+ Write-Host " The Docker tool version was not specified. The latest available '$ModuleVersion ' version will be used." - ForegroundColor Green
203+ }
194204
195- $moduleInstalled = Get-InstalledModule - Name $ModuleName - RequiredVersion $ModuleVersion - AllowPrerelease - ErrorAction SilentlyContinue
196- if (-not $moduleInstalled ) {
197- Write-Host " Installing '$ModuleName '" - ForegroundColor Green
198- Install-Module - Name $ModuleName - RequiredVersion $ModuleVersion - AllowPrerelease - Repository $RepositoryName - Scope CurrentUser
205+ $moduleInstalled = Get-InstalledModule - Name $ModuleName - RequiredVersion $ModuleVersion - AllowPrerelease - ErrorAction SilentlyContinue
206+ if (! $moduleInstalled ) {
207+ Write-Host " Installing '$ModuleName ' $ModuleVersion " - ForegroundColor Green
208+ Install-Module - Name $ModuleName - RequiredVersion $ModuleVersion - Repository $repository.Name - AllowClobber - AllowPrerelease - Scope CurrentUser - Force - ErrorAction " Stop"
209+ }
210+ $localModulePath = ((Get-Module $ModuleName - ListAvailable) | Where-Object Version -eq $ModuleVersion.Split (" -" )[0 ]).Path
211+ Write-Host " Importing '$ModuleName ' '$ModuleVersion ' from '$localModulePath ' ..."
212+ Import-Module - Name $localModulePath
213+ }
214+ finally {
215+ if ($tempRepositoryName -and ($repository.Name -eq $tempRepositoryName )) {
216+ Unregister-PSRepository - Name $tempRepositoryName
217+ }
199218 }
200219}
201220
@@ -207,42 +226,9 @@ function Invoke-ComposeInit {
207226 throw " $LicenseXmlPath is not a file"
208227 }
209228
210- # Check for Sitecore Gallery
211- Import-Module PowerShellGet
212- $SitecoreGalleryName = ' SitecoreGallery'
213- $SitecoreGallery = Get-PSRepository | Where-Object { $_.Name -eq $SitecoreGalleryName }
214- if (-not $SitecoreGallery ) {
215- Write-Host " Adding Sitecore PowerShell Gallery..." - ForegroundColor Green
216- Register-PSRepository - Name $SitecoreGalleryName - SourceLocation $SitecoreGalleryRepositoryLocation - InstallationPolicy Trusted
217- $SitecoreGallery = Get-PSRepository - Name $SitecoreGalleryName
218- }
219-
220229 # Install and Import SitecoreDockerTools
221- $moduleName = " SitecoreDockerTools"
222- $repositoryName = $SitecoreGallery.Name
223-
224- $module = Find-Module - Name $moduleName - Repository $repositoryName
225- $latestVersion = $module.Version
226- $importModuleCommand = " Import-Module $moduleName -RequiredVersion $latestVersion "
227-
228- if (! [string ]::IsNullOrEmpty($SpecificVersion )){
229- $module = Find-Module - Name $moduleName - Repository $repositoryName - RequiredVersion $SpecificVersion - AllowPrerelease
230- $latestVersion = $module.Version
231-
232- if ([string ]::IsNullOrEmpty($latestVersion )){
233- Write-Warning - Message " '$moduleName ' module with '$SpecificVersion ' version doesn't exist."
234- return
235- }
236- InstallModule - ModuleName $moduleName - ModuleVersion $latestVersion - RepositoryName $repositoryName
237-
238- $modulePath = ((Get-Module $moduleName - ListAvailable) | where Version -eq $latestVersion.Split (" -" )[0 ]).Path
239- $importModuleCommand = " Import-Module -Name $modulePath "
240- }else {
241- InstallModule - ModuleName $moduleName - ModuleVersion $latestVersion - RepositoryName $repositoryName
242- }
243-
244- Write-Host " Importing '$moduleName '..." - ForegroundColor Green
245- Invoke-Expression $importModuleCommand
230+ $ModuleName = " SitecoreDockerTools"
231+ InstallModule - ModuleName $ModuleName - ModuleVersion $SpecificVersion
246232
247233 $idCertPassword = Get-SitecoreRandomString 12 - DisallowSpecial
248234 $envVariablesTable = @ {
0 commit comments