From c3e77b44e1b3d34a972f86a1384d77027bb15c2f Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Sat, 6 Apr 2019 22:40:04 +0100 Subject: [PATCH 1/9] Update .Net Core SDK, use global.json and remove unused NetCoreTestingFrameworkVersion variable --- PowerShellEditorServices.build.ps1 | 3 +-- global.json | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 global.json diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index 2859f4a02..056326e50 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -22,13 +22,12 @@ $script:IsCIBuild = $env:APPVEYOR -ne $null $script:IsUnix = $PSVersionTable.PSEdition -and $PSVersionTable.PSEdition -eq "Core" -and !$IsWindows $script:TargetPlatform = "netstandard2.0" $script:TargetFrameworksParam = "/p:TargetFrameworks=`"$script:TargetPlatform`"" -$script:RequiredSdkVersion = "2.1.402" +$script:RequiredSdkVersion = (Get-Content (Join-Path $PSScriptRoot 'global.json') | ConvertFrom-Json).sdk.version $script:NugetApiUriBase = 'https://www.nuget.org/api/v2/package' $script:ModuleBinPath = "$PSScriptRoot/module/PowerShellEditorServices/bin/" $script:VSCodeModuleBinPath = "$PSScriptRoot/module/PowerShellEditorServices.VSCode/bin/" $script:WindowsPowerShellFrameworkTarget = 'net461' $script:NetFrameworkPlatformId = 'win' -$script:NetCoreTestingFrameworkVersion = '2.1.4' $script:BuildInfoPath = [System.IO.Path]::Combine($PSScriptRoot, "src", "PowerShellEditorServices.Host", "BuildInfo", "BuildInfo.cs") $script:PSCoreModulePath = $null diff --git a/global.json b/global.json new file mode 100644 index 000000000..80bff6046 --- /dev/null +++ b/global.json @@ -0,0 +1,5 @@ +{ + "sdk": { + "version": "2.1.602" + } +} From e1ddb63b10332ec32b0aeb137e1940b0cf4a3ba0 Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Sat, 6 Apr 2019 22:41:43 +0100 Subject: [PATCH 2/9] re-trigger CI From a22eab3b05ea0692f72116e0dfa3acfa79c1aa9c Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Sat, 6 Apr 2019 23:10:40 +0100 Subject: [PATCH 3/9] fix call to dotnet --- PowerShellEditorServices.build.ps1 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index 056326e50..ed52131c3 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -197,9 +197,10 @@ task SetupDotNet -Before Clean, Build, TestHost, TestServer, TestProtocol, Packa # Make sure the dotnet we found is the right version if ($dotnetExePath) { - # dotnet --version can return a semver that System.Version can't handle - # e.g.: 2.1.300-preview-01. The replace operator is used to remove any build suffix. - $version = (& $dotnetExePath --version) -replace '[+-].*$','' + # dotnet --version can write to stderr, which causes builds to abort, therefore use --list-sdks instead. + [System.Management.Automation.SemanticVersion] $version = & $dotnetExePath --list-sdks | + ForEach-Object { $_.Split()[0] } | + Select-Object -Last 1 if ($version -and [version]$version -ge [version]$script:RequiredSdkVersion) { $script:dotnetExe = $dotnetExePath } From 9ac5b6bcdc45c6d3c679f593b107a0cb363a595e Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Sat, 6 Apr 2019 23:16:06 +0100 Subject: [PATCH 4/9] fix installation --- PowerShellEditorServices.build.ps1 | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index ed52131c3..b071976af 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -198,16 +198,9 @@ task SetupDotNet -Before Clean, Build, TestHost, TestServer, TestProtocol, Packa # Make sure the dotnet we found is the right version if ($dotnetExePath) { # dotnet --version can write to stderr, which causes builds to abort, therefore use --list-sdks instead. - [System.Management.Automation.SemanticVersion] $version = & $dotnetExePath --list-sdks | + $script:dotnetExe = & $dotnetExePath --list-sdks | ForEach-Object { $_.Split()[0] } | - Select-Object -Last 1 - if ($version -and [version]$version -ge [version]$script:RequiredSdkVersion) { - $script:dotnetExe = $dotnetExePath - } - else { - # Clear the path so that we invoke installation - $script:dotnetExe = $null - } + Where-Object { $_ -eq $script:RequiredSdkVersion } } else { # Clear the path so that we invoke installation From aa3ed1efbad0b44c5d7b8c7184de294fc38f0176 Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Sun, 7 Apr 2019 10:49:55 +0100 Subject: [PATCH 5/9] fix check for dotnet --- PowerShellEditorServices.build.ps1 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index b071976af..a029a31ed 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -198,9 +198,10 @@ task SetupDotNet -Before Clean, Build, TestHost, TestServer, TestProtocol, Packa # Make sure the dotnet we found is the right version if ($dotnetExePath) { # dotnet --version can write to stderr, which causes builds to abort, therefore use --list-sdks instead. - $script:dotnetExe = & $dotnetExePath --list-sdks | - ForEach-Object { $_.Split()[0] } | - Where-Object { $_ -eq $script:RequiredSdkVersion } + if (-not (& $dotnetExePath --list-sdks | ForEach-Object { $_.Split()[0] } ) -contains $script:RequiredSdkVersion) { + # Clear the path so that we invoke installation + $script:dotnetExe = $null + } } else { # Clear the path so that we invoke installation From e43dd9d947131399de097c1836160f8fb52672f6 Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Sun, 7 Apr 2019 11:00:36 +0100 Subject: [PATCH 6/9] minimise diff --- PowerShellEditorServices.build.ps1 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/PowerShellEditorServices.build.ps1 b/PowerShellEditorServices.build.ps1 index a029a31ed..d21f3f73b 100644 --- a/PowerShellEditorServices.build.ps1 +++ b/PowerShellEditorServices.build.ps1 @@ -198,7 +198,10 @@ task SetupDotNet -Before Clean, Build, TestHost, TestServer, TestProtocol, Packa # Make sure the dotnet we found is the right version if ($dotnetExePath) { # dotnet --version can write to stderr, which causes builds to abort, therefore use --list-sdks instead. - if (-not (& $dotnetExePath --list-sdks | ForEach-Object { $_.Split()[0] } ) -contains $script:RequiredSdkVersion) { + if ((& $dotnetExePath --list-sdks | ForEach-Object { $_.Split()[0] } ) -contains $script:RequiredSdkVersion) { + $script:dotnetExe = $dotnetExePath + } + else { # Clear the path so that we invoke installation $script:dotnetExe = $null } From ba4bb2874e5c9f24a05bf76069bb07fcd66d620e Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Sun, 7 Apr 2019 11:53:12 +0100 Subject: [PATCH 7/9] re-trigger ci From d4e7e5f5f8f7918146bda87249abbb77ddacb3c2 Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Sun, 7 Apr 2019 17:16:33 +0100 Subject: [PATCH 8/9] re-trigger ci From 50aceb42e432130a2cce939f34897d2180717e65 Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Mon, 8 Apr 2019 19:48:37 +0100 Subject: [PATCH 9/9] re-trigger ci