Skip to content

Commit

Permalink
(GH-55) Rework of package to include streams
Browse files Browse the repository at this point in the history
  • Loading branch information
mkevenaar committed Jul 2, 2020
1 parent b58fe29 commit 8b14c50
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 15 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$fileName = "$toolsDir\Microsoft.WindowsTerminal_1.1.1671.0_8wekyb3d8bbwe.msixbundle"
$version = "1.1.1671.0"
$PreRelease = "True"

$WindowsVersion=[Environment]::OSVersion.Version
if ($WindowsVersion.Major -ne "10") {
Expand All @@ -14,7 +15,13 @@ if ($IsCorrectBuild -lt "18362") {
throw "This package requires at least Windows 10 version 1903/OS build 18362.x."
}

if ((Get-AppxPackage -name Microsoft.WindowsTerminal).Version -Match $version) {
$AppxPackageName = "Microsoft.WindowsTerminal"

if ($PreRelease -match "True") {
$AppxPackageName += "Preview"
}

if ((Get-AppxPackage -name $AppxPackageName).Version -Match $version) {
if($env:ChocolateyForce) {
# you can't install the same version of an appx package, you need to remove it first
Write-Host Removing already installed version first.
Expand Down
53 changes: 39 additions & 14 deletions automatic/microsoft-windows-terminal/update.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,61 @@ $releases = 'https://api.github.com/repos/microsoft/terminal/releases'

function global:au_BeforeUpdate { Get-RemoteFiles -NoSuffix -Purge }

function CreateStream {
param($url32bit, $version)

$Result = @{
Version = $version
URL32 = $url32bit
RemoteVersion = $version -replace '-beta'
PreRelease = $version -like "*-beta"
FileType = 'msixbundle'
}

return $Result
}


function global:au_GetLatest {
$header = @{
"Authorization" = "token $env:github_api_key"
}
$download_page = Invoke-RestMethod -Uri $releases -Headers $header
forEach ($release in $download_page) {
$version = $release.tag_name.Replace('v', '')
if ($release.prerelease) {
$version += '-beta'
}
forEach ($asset in $release.assets) {
if ($asset.name -like "Microsoft.WindowsTerminal_*") {

$streams = @{ }

$regexes = @(
"Microsoft.WindowsTerminal"
"Microsoft.WindowsTerminalPreview"
)

foreach($re in $regexes) {
foreach ($release in $download_page) {
Clear-Variable -Name "asset" -ErrorAction SilentlyContinue
$version = $release.tag_name.Replace('v', '')
if ($release.prerelease -and $re -like "*Preview") {
$version += '-beta'
}

$version = Get-Version $version
$asset = $release.assets | Where-Object -Property name -like "${re}_*"
if ($asset) {
$url = $asset.browser_download_url
$streams.Add($re, (CreateStream $url $version))
break
}
}
break
}
return @{
URL32 = $url
Version = $version
RemoteVersion = $version
FileType = 'msixbundle'
}

return @{ Streams = $streams }
}

function global:au_SearchReplace {
return @{
".\tools\chocolateyInstall.ps1" = @{
"(^[$]fileName\s*=\s*`"[$]toolsDir\\).*" = "`${1}$($Latest.FileName32)`""
"(^[$]version\s*=\s*)`".*`"" = "`${1}`"$($Latest.RemoteVersion)`""
"(^[$]PreRelease\s*=\s*)`".*`"" = "`${1}`"$($Latest.PreRelease)`""
}
".\legal\VERIFICATION.txt" = @{
"(?i)(listed on\s*)\<.*\>" = "`${1}<$releases>"
Expand Down

0 comments on commit 8b14c50

Please sign in to comment.