Download release assets for PowerShell PhpManager

Downloading such assets is preferable since:
- they contain updated metadata (useful for debugging)
- they contain only the production files
- they are pre-built: GitHub doesn't have to create a ZIP from a tag
This commit is contained in:
Michele Locati 2020-08-25 18:00:03 +02:00 committed by Shivam Mathur
parent 29d99c6866
commit 446bccb14d
No known key found for this signature in database
GPG Key ID: 3E13E4C8591ACC2A

View File

@ -44,13 +44,12 @@ Function Add-ToProfile {
} }
Function Install-PhpManager() { Function Install-PhpManager() {
$repo = "mlocati/powershell-phpmanager" $module_path = "$php_dir\PhpManager\PhpManager.psm1"
$tag = (Invoke-RestMethod https://api.github.com/repos/$repo/releases/latest).tag_name
$module_path = "$bin_dir\PhpManager\powershell-phpmanager-$tag\PhpManager\PhpManager.psm1"
if(-not (Test-Path $module_path -PathType Leaf)) { if(-not (Test-Path $module_path -PathType Leaf)) {
$zip_file = "$bin_dir\PhpManager.zip" $release = Invoke-RestMethod https://api.github.com/repos/mlocati/powershell-phpmanager/releases/latest
Invoke-WebRequest -UseBasicParsing -Uri https://github.com/$repo/archive/$tag.zip -OutFile $zip_file $zip_file = "$php_dir\PhpManager.zip"
Expand-Archive -Path $zip_file -DestinationPath $bin_dir\PhpManager -Force Invoke-WebRequest -UseBasicParsing -Uri $release.assets[0].browser_download_url -OutFile $zip_file
Expand-Archive -Path $zip_file -DestinationPath $php_dir -Force
} }
Import-Module $module_path Import-Module $module_path
Add-ToProfile $current_profile 'powershell-phpmanager' "Import-Module $module_path" Add-ToProfile $current_profile 'powershell-phpmanager' "Import-Module $module_path"