Skip to content
This repository was archived by the owner on Mar 19, 2025. It is now read-only.

Commit ba0d3f5

Browse files
Install-UpliftPSModule fix
1 parent fd99718 commit ba0d3f5

File tree

1 file changed

+43
-84
lines changed

1 file changed

+43
-84
lines changed

uplift.core/src/Uplift.Core.ps1

+43-84
Original file line numberDiff line numberDiff line change
@@ -520,9 +520,39 @@ function Install-UpliftPSModule {
520520

521521
Param(
522522
$name,
523-
$version
523+
$version,
524+
$repository = "PSGallery",
525+
$usePS6 = $False
524526
)
525527

528+
if( [String]::IsNullOrEmpty($version) -eq $True) {
529+
$version = $null
530+
531+
Write-UpliftMessage "Looking for the latest module $name"
532+
533+
$moduleDefinition = Find-Module -Name $name `
534+
| Select-Object Version, Repository `
535+
| Sort-Object Version -Descending `
536+
| Select-Object -First 1
537+
538+
Write-UpliftMessage "Found latest module"
539+
Write-UpliftMessage $moduleDefinition
540+
Write-UpliftMessage " - version : $($moduleDefinition.Version)"
541+
Write-UpliftMessage " - repository: $($moduleDefinition.Repository)"
542+
543+
if($null -eq $moduleDefinition) {
544+
throw "Failed to install module $name - repo/version were not provided, and cannot find latest in any repo"
545+
}
546+
547+
$version = $moduleDefinition.Version
548+
549+
if([String]::IsNullOrEmpty($repository) -eq $True) {
550+
$repository = $moduleDefinition.Repository
551+
}
552+
553+
Write-UpliftMessage "Installing latest ($version) $name version: $version, repository: $repository"
554+
}
555+
526556
$maxAttempt = 5
527557
$attempt = 1
528558
$success = $false
@@ -535,26 +565,30 @@ function Install-UpliftPSModule {
535565
$progressPreference = 'silentlyContinue'
536566

537567
Write-UpliftMessage "`t[$attempt/$maxAttempt] ensuring package: $name $version"
538-
$existinModule = $null
568+
$moduleExists = $null
539569

570+
# does module exist locally?
540571
if( [String]::IsNullOrEmpty($version) -eq $True) {
541572
Write-UpliftMessage "`tchecking if package exists: $name $version"
542-
$existinModule = Get-Module -ListAvailable | Where-Object { $_.Name -eq $name }
573+
$moduleExists = Get-Module -ListAvailable | Where-Object { $_.Name -eq $name }
543574
} else {
544575
Write-UpliftMessage "`tchecking if package exists: $name $version"
545-
$existinModule = Get-Module -ListAvailable | Where-Object { $_.Name -eq $name -and $_.Version -eq $version}
576+
$moduleExists = Get-Module -ListAvailable | Where-Object { $_.Name -eq $name -and $_.Version -eq $version}
546577
}
547578

548-
if( $null -ne $existinModule) {
579+
if( $null -ne $moduleExists) {
549580
Write-UpliftMessage "`t`tpackage exists, nothing to do: $name $version"
550581
}
551582
else {
552-
Write-UpliftMessage "`t`tpackage does not exist, installing: $name $version"
583+
if($usePS6 -eq $True) {
584+
Write-UpliftMessage "`t`tpackage does not exist (PS6), installing: $name $version"
553585

554-
if ([System.String]::IsNullOrEmpty($version) -eq $true) {
555-
Install-Module -Name $name -Force -SkipPublisherCheck
586+
pwsh -c "Install-Package $name -Source $repository -RequiredVersion $version -Force -SkipPublisherCheck"
587+
Confirm-UpliftExitCode $LASTEXITCODE "Cannot install PS6 module: $name, version: $version repository: $repository"
556588
} else {
557-
Install-Module -Name $name -RequiredVersion $version -Force -SkipPublisherCheck
589+
Write-UpliftMessage "`t`tpackage does not exist (PS), installing: $name $version"
590+
591+
Install-Package $name -Source $repository -RequiredVersion $version -Force -SkipPublisherCheck
558592
}
559593
}
560594

@@ -687,81 +721,6 @@ function Install-UpliftPS6Module() {
687721
Install-UpliftPSModule $moduleName $version $repository $True
688722
}
689723

690-
# function Install-UpliftPSModule() {
691-
# [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSShouldProcess", "", Scope = "Function")]
692-
# [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseShouldProcessForStateChangingFunctions", "", Scope = "Function")]
693-
# [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingWriteHost", "", Scope = "Function")]
694-
695-
# param(
696-
# $moduleName,
697-
# $version,
698-
# $repository,
699-
# $usePS6 = $false
700-
# )
701-
702-
# if( [String]::IsNullOrEmpty($version) -eq $True) {
703-
# $version = $null
704-
# }
705-
706-
# Write-UpliftMessage "Installing module: $moduleName version: $version, repository: $repository"
707-
708-
# Write-UpliftMessage "Looking for the latest module $moduleName"
709-
# $moduleDefinition = Find-Module -Name $moduleName `
710-
# | Select-Object Version, Repository `
711-
# | Sort-Object Version -Descending `
712-
# | Select-Object -First 1
713-
714-
# Write-UpliftMessage "Found latest module"
715-
# Write-UpliftMessage $moduleDefinition
716-
# Write-UpliftMessage " - version : $($moduleDefinition.Version)"
717-
# Write-UpliftMessage " - repository: $($moduleDefinition.Repository)"
718-
719-
# if([String]::IsNullOrEmpty($version) -eq $True) {
720-
721-
# if($null -eq $moduleDefinition) {
722-
# throw "Failed to install module $moduleName - repo/version were not provided, and cannot find latest in any repo"
723-
# }
724-
725-
# $version = $moduleDefinition.Version
726-
727-
# if([String]::IsNullOrEmpty($repository) -eq $True) {
728-
# $repository = $moduleDefinition.Repository
729-
# }
730-
731-
# Write-UpliftMessage "Installing latest ($version) $moduleName version: $version, repository: $repository"
732-
733-
# if($usePS6 -eq $True) {
734-
# pwsh -c "Install-Package $moduleName -Source $repository -RequiredVersion $version -Force -SkipPublisherCheck"
735-
# Confirm-UpliftExitCode $LASTEXITCODE "Cannot install PS6 module: $moduleName, version: $version repository: $repository"
736-
# } else {
737-
# Install-Package $moduleName -Source $repository -RequiredVersion $version -Force -SkipPublisherCheck
738-
# }
739-
# }
740-
# else {
741-
# if([String]::IsNullOrEmpty($repository) -eq $True) {
742-
# $repository = $moduleDefinition.Repository
743-
# }
744-
745-
# Write-UpliftMessage "Installing specified version $moduleName version: $version, repository: $repository"
746-
747-
# if($usePS6 -eq $True) {
748-
# pwsh -c "Install-Package $moduleName -Source $repository -Force -RequiredVersion $version -SkipPublisherCheck"
749-
# Confirm-UpliftExitCode $LASTEXITCODE "Cannot install PS6 module: $moduleName, version: $version repository: $repository"
750-
# } else {
751-
# Install-Package $moduleName -Source $repository -Force -RequiredVersion $version -SkipPublisherCheck
752-
# }
753-
# }
754-
755-
# Write-UpliftMessage "Checking installed module: $moduleName"
756-
757-
# if($usePS6 -eq $True) {
758-
# pwsh -c "Get-InstalledModule $moduleName"
759-
# Confirm-UpliftExitCode $LASTEXITCODE "Cannot find installed PS6 module: $moduleName"
760-
# } else {
761-
# # TODO
762-
# }
763-
# }
764-
765724
function Repair-UpliftIISApplicationHostFile {
766725
# https://forums.iis.net/t/1160389.aspx
767726

0 commit comments

Comments
 (0)