Private/UpgradeInitializationScriptHelperFunctions.ps1
function Test-Version { Param ( [Parameter(Mandatory=$true)] [string] $version ) $type = "OnPrem" $fullVersionNo = $false $ok = $false if ($version.indexOf('.') -eq -1) { $verno = 0 $ok = [int32]::TryParse($version, [ref]$verno) if (!$ok) { Write-Host -ForegroundColor Red "Illegal version number. Run New-UpgradeInitizalitionScript without parameters instead." } } else { $verno = [Version]"0.0.0.0" $ok = [Version]::TryParse($version, [ref]$verno) if (!$ok) { Write-Host -ForegroundColor Red "Illegal version number. Run New-UpgradeInitizalitionScript without parameters instead." } $fullVersionNo = $verno.Revision -ne -1 } if ($ok) { if ($fullVersionNo) { $artifactUrl = Get-BCArtifactUrl -type $type -version $version -country 'w1' -select 'Closest' if ($artifactUrl) { $foundVersion = $artifactUrl.split('/')[4] if ($foundVersion -ne $version) { Write-Host -ForegroundColor Yellow "The specific version doesn't exist, closest version is $foundVersion" } } } else { $versions = @() Get-BCArtifactUrl -type $type -version $version -country 'w1' -select All | ForEach-Object { $versions += $_.Split('/')[4] } if ($versions.Count -eq 0) { Write-Host -ForegroundColor Red "Unable to find a version matching the specified version: $($version)" $ok = $false } elseif ($versions.Count -gt 1) { $ok = $false Write-Host -ForegroundColor Red "More than one version found. Enter a specific version or run New-UpgradeInitizalitionScript without parameters instead." Write-Host -ForegroundColor Red "Versions found:" [system.String]::Join(", ", $versions) | Write-Host -ForegroundColor Red } } } return $ok } function Get-FullVersion { Param ( [Parameter(Mandatory=$true)] [string] $version ) $type = "OnPrem" $fullVersionNo = $false $ok = $false if ($version.indexOf('.') -eq -1) { $verno = 0 $ok = [int32]::TryParse($version, [ref]$verno) if (!$ok) { Write-Host -ForegroundColor Red "Illegal version number. Run New-UpgradeInitizalitionScript without parameters instead." } } else { $verno = [Version]"0.0.0.0" $ok = [Version]::TryParse($version, [ref]$verno) if (!$ok) { Write-Host -ForegroundColor Red "Illegal version number. Run New-UpgradeInitizalitionScript without parameters instead." } $fullVersionNo = $verno.Revision -ne -1 } if ($ok) { if ($fullVersionNo) { $select = "Closest" $artifactUrl = Get-BCArtifactUrl -type $type -version $version -country 'w1' -select 'Closest' if ($artifactUrl) { $foundVersion = $artifactUrl.split('/')[4] if ($foundVersion -ne $version) { Write-Host -ForegroundColor Yellow "The specific version doesn't exist, closest version is $foundVersion. Enter a specific version or run New-UpgradeInitizalitionScript without parameters instead." } } } else { $versions = @() Get-BCArtifactUrl -type $type -version $version -country 'w1' -select All | ForEach-Object { $versions += $_.Split('/')[4] } if ($versions.Count -eq 0) { Write-Host -ForegroundColor Red "Unable to find a version matching the specified version: $($version)" $ok = $false } elseif ($versions.Count -gt 1) { $ok = $false Write-Host -ForegroundColor Red "More than one version found. Enter a specific version or run New-UpgradeInitizalitionScript without parameters instead." Write-Host -ForegroundColor Red "Versions found:" [system.String]::Join(", ", $versions) | Write-Host -ForegroundColor Red } } } if ($ok) { Write-Output $versions[0] } } function Get-AppFilename { Param ( [Parameter(Mandatory)] [string] $publisher, [Parameter(Mandatory)] [string] $name, [string] $version ) $appPackageName = Get-AppPackageName -Publisher $publisher -Name $name -Version $version return "$($appPackageName).app" } function Get-AppPackageName { Param ( [Parameter(Mandatory)] [string] $publisher, [Parameter(Mandatory)] [string] $name, [string] $version ) $result = "$($publisher)_$($name)" if ($version -ne "") { $result += "_$($version)" } return $result } |