From 8ef9d807bb6f20c81dcb7cbadb138ae4584d7938 Mon Sep 17 00:00:00 2001 From: Rob Holt Date: Mon, 6 Jan 2020 14:07:51 -0800 Subject: [PATCH 01/13] Improve clean --- PowerShellEditorServices.build.ps1 | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index 612ba27bf..030eb5bfd 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -118,15 +118,26 @@ task SetupDotNet -Before Clean, Build, TestHost, TestServer, TestProtocol, TestE Write-Host "`n### Using dotnet v$(& $script:dotnetExe --version) at path $script:dotnetExe`n" -ForegroundColor Green } -task Clean { - exec { & $script:dotnetExe restore } - exec { & $script:dotnetExe clean } +task BinClean { Remove-Item $PSScriptRoot\.tmp -Recurse -Force -ErrorAction Ignore Remove-Item $PSScriptRoot\module\PowerShellEditorServices\bin -Recurse -Force -ErrorAction Ignore Remove-Item $PSScriptRoot\module\PowerShellEditorServices.VSCode\bin -Recurse -Force -ErrorAction Ignore +} + +task Clean BinClean,{ + exec { & $script:dotnetExe restore } + exec { & $script:dotnetExe clean } Get-ChildItem -Recurse $PSScriptRoot\src\*.nupkg | Remove-Item -Force -ErrorAction Ignore Get-ChildItem $PSScriptRoot\PowerShellEditorServices*.zip | Remove-Item -Force -ErrorAction Ignore Get-ChildItem $PSScriptRoot\module\PowerShellEditorServices\Commands\en-US\*-help.xml | Remove-Item -Force -ErrorAction Ignore + + # Remove bundled component modules + $moduleJsonPath = "$PSScriptRoot\modules.json" + if (Test-Item $moduleJsonPath) { + Get-Content -Raw $moduleJsonPath | + ConvertFrom-Json | + ForEach-Object { Remove-Item -Recurse "$PSScriptRoot/module/$($_.Name)" -Path -ErrorAction Ignore } + } } task GetProductVersion -Before PackageModule, UploadArtifacts { @@ -206,7 +217,7 @@ task SetupHelpForTests -Before Test { } } -task Build { +task Build BinClean,{ exec { & $script:dotnetExe publish -c $Configuration .\src\PowerShellEditorServices\PowerShellEditorServices.csproj -f $script:NetRuntime.Standard } exec { & $script:dotnetExe publish -c $Configuration .\src\PowerShellEditorServices.Hosting\PowerShellEditorServices.Hosting.csproj -f $script:NetRuntime.Core } if (-not $script:IsUnix) From e352fbd05a19d0f96452eeb8c49301bd89bbd629 Mon Sep 17 00:00:00 2001 From: Rob Holt Date: Wed, 8 Jan 2020 13:13:54 -0800 Subject: [PATCH 02/13] Correct Test-Item --- PowerShellEditorServices.build.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index 030eb5bfd..1b0ba12ab 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -133,7 +133,7 @@ task Clean BinClean,{ # Remove bundled component modules $moduleJsonPath = "$PSScriptRoot\modules.json" - if (Test-Item $moduleJsonPath) { + if (Test-Path $moduleJsonPath) { Get-Content -Raw $moduleJsonPath | ConvertFrom-Json | ForEach-Object { Remove-Item -Recurse "$PSScriptRoot/module/$($_.Name)" -Path -ErrorAction Ignore } From 01bacf8e225c0605700a45a53b5dc30d0d58679a Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Mon, 13 Jan 2020 12:56:09 -0800 Subject: [PATCH 03/13] Correct parameter bug --- PowerShellEditorServices.build.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index 1b0ba12ab..f0e552495 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -136,7 +136,7 @@ task Clean BinClean,{ if (Test-Path $moduleJsonPath) { Get-Content -Raw $moduleJsonPath | ConvertFrom-Json | - ForEach-Object { Remove-Item -Recurse "$PSScriptRoot/module/$($_.Name)" -Path -ErrorAction Ignore } + ForEach-Object { Remove-Item -Path "$PSScriptRoot/module/$($_.Name)" -Recurse -Force -ErrorAction Ignore } } } From 33c878f32a0015f9af0999e0313bb223b13665cc Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Mon, 13 Jan 2020 13:19:00 -0800 Subject: [PATCH 04/13] Fix module deletion logic --- PowerShellEditorServices.build.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index f0e552495..cadad2198 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -136,7 +136,8 @@ task Clean BinClean,{ if (Test-Path $moduleJsonPath) { Get-Content -Raw $moduleJsonPath | ConvertFrom-Json | - ForEach-Object { Remove-Item -Path "$PSScriptRoot/module/$($_.Name)" -Recurse -Force -ErrorAction Ignore } + ForEach-Object { $_.PSObject.Properties.Name } | + ForEach-Object { Remove-Item -Path "$PSScriptRoot/module/$_" -Recurse -Force -ErrorAction Ignore } } } From d66196f89bd6800ae1bbdbaafb231aefab2092a8 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 15 Jan 2020 13:44:07 -0800 Subject: [PATCH 05/13] Fix build version in BuildInfo --- PowerShellEditorServices.build.ps1 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index cadad2198..53ab032a9 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -170,11 +170,12 @@ task CreateBuildInfo -Before Build { $buildVersion = "" $buildOrigin = "" + $propsXml = [xml](Get-Content -Raw -LiteralPath "$PSScriptRoot/PowerShellEditorServices.Common.props") + $propsBody = $propsXml.Project.PropertyGroup + $buildVersion = $propsBody.VersionPrefix + if ($propsBody.VersionSuffix) { - $propsXml = [xml](Get-Content -Raw -LiteralPath "$PSScriptRoot/PowerShellEditorServices.Common.props") - $propsBody = $propsXml.Project.PropertyGroup - $buildVersion = $propsBody.VersionPrefix $buildVersion += '-' + $propsBody.VersionSuffix } From e1e17b860f54f6d03a0ba483526da1c35f986026 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 15 Jan 2020 13:46:39 -0800 Subject: [PATCH 06/13] Still use version for non AzDO builds --- PowerShellEditorServices.build.ps1 | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index 53ab032a9..774f45137 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -170,19 +170,19 @@ task CreateBuildInfo -Before Build { $buildVersion = "" $buildOrigin = "" - $propsXml = [xml](Get-Content -Raw -LiteralPath "$PSScriptRoot/PowerShellEditorServices.Common.props") - $propsBody = $propsXml.Project.PropertyGroup - $buildVersion = $propsBody.VersionPrefix - - if ($propsBody.VersionSuffix) - { - $buildVersion += '-' + $propsBody.VersionSuffix - } - # Set build info fields on build platforms if ($env:TF_BUILD) { $buildOrigin = "VSTS" + + $propsXml = [xml](Get-Content -Raw -LiteralPath "$PSScriptRoot/PowerShellEditorServices.Common.props") + $propsBody = $propsXml.Project.PropertyGroup + $buildVersion = $propsBody.VersionPrefix + + if ($propsBody.VersionSuffix) + { + $buildVersion += '-' + $propsBody.VersionSuffix + } } # Allow override of build info fields (except date) From 0310c85522af92ecf15f6db228d1d18f981ae9fe Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 15 Jan 2020 13:47:27 -0800 Subject: [PATCH 07/13] Change VSTS to release --- PowerShellEditorServices.build.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index 774f45137..fcaf95b41 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -173,7 +173,7 @@ task CreateBuildInfo -Before Build { # Set build info fields on build platforms if ($env:TF_BUILD) { - $buildOrigin = "VSTS" + $buildOrigin = "Release" $propsXml = [xml](Get-Content -Raw -LiteralPath "$PSScriptRoot/PowerShellEditorServices.Common.props") $propsBody = $propsXml.Project.PropertyGroup From 2936ff7d0d3442a3a2aab0ac13d65aa6aa2f8488 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 15 Jan 2020 13:49:59 -0800 Subject: [PATCH 08/13] Fix origins --- PowerShellEditorServices.build.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index fcaf95b41..b5c2ac214 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -168,12 +168,12 @@ task GetProductVersion -Before PackageModule, UploadArtifacts { task CreateBuildInfo -Before Build { $buildVersion = "" - $buildOrigin = "" + $buildOrigin = "Development" # Set build info fields on build platforms if ($env:TF_BUILD) { - $buildOrigin = "Release" + $buildOrigin = "AzDO" $propsXml = [xml](Get-Content -Raw -LiteralPath "$PSScriptRoot/PowerShellEditorServices.Common.props") $propsBody = $propsXml.Project.PropertyGroup From 5280bd1ee9949390e6727c2744a647a94400204b Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 15 Jan 2020 14:06:38 -0800 Subject: [PATCH 09/13] Test build vars --- PowerShellEditorServices.build.ps1 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index b5c2ac214..ae815deef 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -18,6 +18,13 @@ param( #Requires -Modules @{ModuleName="InvokeBuild";ModuleVersion="3.2.1"} +if ($env:TF_BUILD) { + Write-Host "BUILD_BUILDNUMBER: $env:BUILD_BUILDNUMBER" + Write-Host "BUILD_NUMBER: $env:BUILD_NUMBER" + Write-Host "System.BuildNumber: ${env:System.BuildNumber}" + Write-Host "BUILD_BUILDID: $env:BUILD_BUILDID" +} + $script:IsUnix = $PSVersionTable.PSEdition -and $PSVersionTable.PSEdition -eq "Core" -and !$IsWindows $script:RequiredSdkVersion = (Get-Content (Join-Path $PSScriptRoot 'global.json') | ConvertFrom-Json).sdk.version $script:BuildInfoPath = [System.IO.Path]::Combine($PSScriptRoot, "src", "PowerShellEditorServices.Hosting", "BuildInfo.cs") From c1b7e115641531db2dc0194e3ef528da7151ff41 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 15 Jan 2020 14:21:25 -0800 Subject: [PATCH 10/13] Improve build origin tracking --- PowerShellEditorServices.build.ps1 | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index ae815deef..81aca47ab 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -18,13 +18,6 @@ param( #Requires -Modules @{ModuleName="InvokeBuild";ModuleVersion="3.2.1"} -if ($env:TF_BUILD) { - Write-Host "BUILD_BUILDNUMBER: $env:BUILD_BUILDNUMBER" - Write-Host "BUILD_NUMBER: $env:BUILD_NUMBER" - Write-Host "System.BuildNumber: ${env:System.BuildNumber}" - Write-Host "BUILD_BUILDID: $env:BUILD_BUILDID" -} - $script:IsUnix = $PSVersionTable.PSEdition -and $PSVersionTable.PSEdition -eq "Core" -and !$IsWindows $script:RequiredSdkVersion = (Get-Content (Join-Path $PSScriptRoot 'global.json') | ConvertFrom-Json).sdk.version $script:BuildInfoPath = [System.IO.Path]::Combine($PSScriptRoot, "src", "PowerShellEditorServices.Hosting", "BuildInfo.cs") @@ -178,9 +171,14 @@ task CreateBuildInfo -Before Build { $buildOrigin = "Development" # Set build info fields on build platforms - if ($env:TF_BUILD) - { - $buildOrigin = "AzDO" + if ($env:TF_BUILD) { + if ($env:BUILD_BUILDNUMBER -like "PR*") { + $buildOrigin = "PR" + } elseif ($env:BUILD_BUILDNUMBER -like "CI*") { + $buildOrigin = "CI" + } else { + $buildOrigin = "Release" + } $propsXml = [xml](Get-Content -Raw -LiteralPath "$PSScriptRoot/PowerShellEditorServices.Common.props") $propsBody = $propsXml.Project.PropertyGroup @@ -193,13 +191,11 @@ task CreateBuildInfo -Before Build { } # Allow override of build info fields (except date) - if ($env:PSES_BUILD_VERSION) - { + if ($env:PSES_BUILD_VERSION) { $buildVersion = $env:PSES_BUILD_VERSION } - if ($env:PSES_BUILD_ORIGIN) - { + if ($env:PSES_BUILD_ORIGIN) { $buildOrigin = $env:PSES_BUILD_ORIGIN } From 8f01789ede181278f0262c2c2acc807aca6bdc8d Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 15 Jan 2020 14:28:00 -0800 Subject: [PATCH 11/13] Add job name --- PowerShellEditorServices.build.ps1 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index 81aca47ab..3d7612875 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -18,6 +18,10 @@ param( #Requires -Modules @{ModuleName="InvokeBuild";ModuleVersion="3.2.1"} +if ($env:TF_BUILD) { + Write-Host "AGENT_JOBNAME: $env:AGENT_JOBNAME" +} + $script:IsUnix = $PSVersionTable.PSEdition -and $PSVersionTable.PSEdition -eq "Core" -and !$IsWindows $script:RequiredSdkVersion = (Get-Content (Join-Path $PSScriptRoot 'global.json') | ConvertFrom-Json).sdk.version $script:BuildInfoPath = [System.IO.Path]::Combine($PSScriptRoot, "src", "PowerShellEditorServices.Hosting", "BuildInfo.cs") @@ -172,9 +176,9 @@ task CreateBuildInfo -Before Build { # Set build info fields on build platforms if ($env:TF_BUILD) { - if ($env:BUILD_BUILDNUMBER -like "PR*") { + if ($env:BUILD_BUILDNUMBER -like "PR-*") { $buildOrigin = "PR" - } elseif ($env:BUILD_BUILDNUMBER -like "CI*") { + } elseif ($env:BUILD_BUILDNUMBER -like "master-*") { $buildOrigin = "CI" } else { $buildOrigin = "Release" From 2d2fa87ab97f6aa125f0b69fe00b7ed0824ac716 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 15 Jan 2020 14:36:24 -0800 Subject: [PATCH 12/13] Add more variables to test --- PowerShellEditorServices.build.ps1 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index 3d7612875..784409a27 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -19,6 +19,14 @@ param( #Requires -Modules @{ModuleName="InvokeBuild";ModuleVersion="3.2.1"} if ($env:TF_BUILD) { + Write-Host "BULD_DEFINITIONNAME: $env:BUILD_DEFINITIONNAME" + Write-Host "BULD_DEFINITIONVERSION: $env:BUILD_DEFINITIONVERSION" + Write-Host "BULD_REASON: $env:BUILD_REASON" + Write-Host "ENVIRONMENT_NAME: $env:ENVIRONMENT_NAME" + Write-Host "SYSTEM_DEFINITIONID: $env:SYSTEM_DEFINITIONID" + Write-Host "SYSTEM_JOBID: $env:SYSTEM_JOBID" + Write-Host "SYSTEM_JOBNAME: $env:SYSTEM_JOBNAME" + Write-Host "SYSTEM_STAGENAME: $env:SYSTEM_STAGENAME" Write-Host "AGENT_JOBNAME: $env:AGENT_JOBNAME" } From 85b23087fabfbad296a2317fada1286305973f60 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 15 Jan 2020 14:39:54 -0800 Subject: [PATCH 13/13] Use BUILD_DEFINITIONNAME to distinguish CI from release --- PowerShellEditorServices.build.ps1 | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index 784409a27..7034c0801 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -18,18 +18,6 @@ param( #Requires -Modules @{ModuleName="InvokeBuild";ModuleVersion="3.2.1"} -if ($env:TF_BUILD) { - Write-Host "BULD_DEFINITIONNAME: $env:BUILD_DEFINITIONNAME" - Write-Host "BULD_DEFINITIONVERSION: $env:BUILD_DEFINITIONVERSION" - Write-Host "BULD_REASON: $env:BUILD_REASON" - Write-Host "ENVIRONMENT_NAME: $env:ENVIRONMENT_NAME" - Write-Host "SYSTEM_DEFINITIONID: $env:SYSTEM_DEFINITIONID" - Write-Host "SYSTEM_JOBID: $env:SYSTEM_JOBID" - Write-Host "SYSTEM_JOBNAME: $env:SYSTEM_JOBNAME" - Write-Host "SYSTEM_STAGENAME: $env:SYSTEM_STAGENAME" - Write-Host "AGENT_JOBNAME: $env:AGENT_JOBNAME" -} - $script:IsUnix = $PSVersionTable.PSEdition -and $PSVersionTable.PSEdition -eq "Core" -and !$IsWindows $script:RequiredSdkVersion = (Get-Content (Join-Path $PSScriptRoot 'global.json') | ConvertFrom-Json).sdk.version $script:BuildInfoPath = [System.IO.Path]::Combine($PSScriptRoot, "src", "PowerShellEditorServices.Hosting", "BuildInfo.cs") @@ -186,7 +174,7 @@ task CreateBuildInfo -Before Build { if ($env:TF_BUILD) { if ($env:BUILD_BUILDNUMBER -like "PR-*") { $buildOrigin = "PR" - } elseif ($env:BUILD_BUILDNUMBER -like "master-*") { + } elseif ($env:BUILD_DEFINITIONNAME -like "*-CI") { $buildOrigin = "CI" } else { $buildOrigin = "Release"