/
PackVSCodeExtension.ps1
executable file
·56 lines (45 loc) · 2.26 KB
/
PackVSCodeExtension.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
[CmdletBinding(PositionalBinding = $false)]
param (
[string]$stableToolVersionNumber,
[string]$outDir
)
Set-StrictMode -version 2.0
$ErrorActionPreference = "Stop"
function Build-VsCodeExtension([string] $packageDirectory, [string] $outputSubDirectory, [string] $packageVersionNumber, [string] $kernelVersionNumber = "") {
Push-Location $packageDirectory
$packageJsonPath = Join-Path (Get-Location) "package.json"
$packageJsonContents = ReadJson -packageJsonPath $packageJsonPath
SetNpmVersionNumber -packageJsonContents $packageJsonContents -packageVersionNumber $packageVersionNumber
# set tool version
if ($kernelVersionNumber -Ne "") {
Write-Host "Setting tool version to $kernelVersionNumber"
$packageJsonContents.contributes.configuration.properties."dotnet-interactive.requiredInteractiveToolVersion"."default" = $kernelVersionNumber
}
SaveJson -packageJsonPath $packagejsonPath -packageJsonContents $packageJsonContents
# create destination
if ($outputSubDirectory -Eq "") {
$outputSubDirectory = $packageDirectory
}
EnsureCleanDirectory -location "$outDir\$outputSubDirectory"
# pack
Write-Host "Packing extension"
npm run package -- --out "$outDir\$outputSubDirectory\dotnet-interactive-vscode-$packageVersionNumber.vsix"
Pop-Location
}
try {
. "$PSScriptRoot\PackUtilities.ps1"
# copy publish scripts
EnsureCleanDirectory -location $outDir
Copy-Item -Path $PSScriptRoot\..\publish\* -Destination $outDir -Recurse
$stablePackageVersion = "${stableToolVersionNumber}0"
$insidersPackageVersion = "${stableToolVersionNumber}1"
Build-VsCodeExtension -packageDirectory "polyglot-notebooks-vscode" -outputSubDirectory "stable-locked" -packageVersionNumber $stablePackageVersion
Build-VsCodeExtension -packageDirectory "polyglot-notebooks-vscode" -outputSubDirectory "stable" -packageVersionNumber $stablePackageVersion -kernelVersionNumber $stableToolVersionNumber
Build-VsCodeExtension -packageDirectory "polyglot-notebooks-vscode-insiders" -outputSubDirectory "insiders" -packageVersionNumber $insidersPackageVersion -kernelVersionNumber $stableToolVersionNumber
}
catch {
Write-Host $_
Write-Host $_.Exception
Write-Host $_.ScriptStackTrace
exit 1
}