Skip to content

Commit b1baad4

Browse files
WIP: Update to the prerelease 3.15 version of spec (#186)
* WIP: Update to the prerelease 3.15 version of spec * C# 8 compound assignment * Updated sha * rollback name change * more naming rollbacks * more naming roll backs * Updated build * Fixed broken startup, made the observers work a little better * use async for methods to allow for disposal * rollback handlers to same handle method, but inject ProgressManager instead * fixed unit tests * Added tool manifest * fix bindings * fixed up partial results * Updated bits * added report generator * Updated build scripts * polished changes with the latest 3.15 spec
1 parent a394090 commit b1baad4

File tree

347 files changed

+3869
-1284
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

347 files changed

+3869
-1284
lines changed

.azure-pipelines.yml

+12-47
Original file line numberDiff line numberDiff line change
@@ -14,67 +14,32 @@ resources:
1414
- repository: rsg
1515
type: github
1616
name: RocketSurgeonsGuild/AzureDevopsTemplates
17-
ref: refs/tags/v0.3.2
17+
# ref: refs/tags/v0.12.0
1818
endpoint: github
1919

2020
variables:
2121
Configuration: Release
2222
Verbosity: Normal
23-
DotNetVersion: "3.1.101"
24-
CakeVersion: "0.32.1"
25-
NuGetVersion: "5.4.0"
2623
Coverage: "$(Agent.BuildDirectory)/c"
2724
VstsCoverage: "$(Coverage)"
2825
Artifacts: $(Build.ArtifactStagingDirectory)
2926
VstsArtifacts: "$(Artifacts)"
3027
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "true"
3128

3229
jobs:
33-
- job: GitVersion
34-
pool:
35-
vmImage: "windows-latest"
36-
steps:
37-
- template: gitversion/store.yml@rsg
38-
parameters:
39-
NuGetVersion: $(NuGetVersion)
40-
41-
# Mac job seems to hang with unit tests currently, needs more testing (also need a mac)
42-
# - template: pipeline/cake-job.yml@rsg
43-
# parameters:
44-
# name: 'macOS'
45-
# dependsOn: GitVersion
46-
# vmImage: "macOS-10.13"
47-
# pushNuget: false
48-
# Configuration: $(Configuration)
49-
# Verbosity: $(Verbosity)
50-
# CakeVersion: $(CakeVersion)
51-
# DotNetVersion: $(DotNetVersion)
52-
# NuGetVersion: $(NuGetVersion)
53-
# Script: build.cake
54-
55-
# Disabled temporarily as the template does not support multiple runtimes
56-
# - template: pipeline/cake-job.yml@rsg
57-
# parameters:
58-
# name: 'Linux'
59-
# dependsOn: GitVersion
60-
# vmImage: "ubuntu-latest"
61-
# pushNuget: false
62-
# Configuration: $(Configuration)
63-
# Verbosity: $(Verbosity)
64-
# CakeVersion: $(CakeVersion)
65-
# DotNetVersion: $(DotNetVersion)
66-
# NuGetVersion: $(NuGetVersion)
67-
# Script: build.cake
68-
69-
- template: pipeline/cake-job.yml@rsg
30+
- template: pipeline/cake.yml@rsg
7031
parameters:
71-
name: 'Windows'
7232
dependsOn: GitVersion
73-
vmImage: "windows-latest"
74-
pushNuget: true
7533
Configuration: $(Configuration)
7634
Verbosity: $(Verbosity)
77-
CakeVersion: $(CakeVersion)
78-
DotNetVersion: $(DotNetVersion)
79-
NuGetVersion: $(NuGetVersion)
8035
Script: build.cake
36+
EnableReleaseNotes: false
37+
Matrix:
38+
Windows:
39+
BuildName: "Windows"
40+
ImageName: "windows-latest"
41+
ScriptName: build.ps1
42+
Linux:
43+
BuildName: "Linux"
44+
ImageName: "ubuntu-latest"
45+
ScriptName: build.sh

.build/.build.csproj

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>netcoreapp3.1</TargetFramework>
6+
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
7+
<RootNamespace></RootNamespace>
8+
<IsPackable>False</IsPackable>
9+
<NoWarn>CS0649;CS0169</NoWarn>
10+
</PropertyGroup>
11+
12+
<ItemGroup>
13+
<PackageReference Include="Nuke.Common" />
14+
<PackageReference Include="JetBrains.ReSharper.CommandLineTools" ExcludeAssets="All" />
15+
<PackageReference Include="GitVersion.Tool" ExcludeAssets="All" />
16+
<PackageReference Include="ReportGenerator" ExcludeAssets="All" />
17+
<PackageReference Include="JetBrains.ReSharper.CommandLineTools" ExcludeAssets="All" />
18+
<PackageReference Include="Rocket.Surgery.Nuke.DotNetCore" />
19+
</ItemGroup>
20+
21+
<ItemGroup>
22+
<NukeSpecificationFiles Include="**\*.json" Exclude="bin\**;obj\**" />
23+
<NukeExternalFiles Include="**\*.*.ext" Exclude="bin\**;obj\**" />
24+
<None Remove="*.csproj.DotSettings;*.ref.*.txt" />
25+
</ItemGroup>
26+
27+
</Project>

.build/Build.cs

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
using JetBrains.Annotations;
2+
using Nuke.Common;
3+
using Nuke.Common.Execution;
4+
using Rocket.Surgery.Nuke;
5+
using Rocket.Surgery.Nuke.DotNetCore;
6+
7+
[PublicAPI]
8+
[CheckBuildProjectConfigurations]
9+
[UnsetVisualStudioEnvironmentVariables]
10+
[AzurePipelinesSteps(
11+
InvokedTargets = new[] { nameof(Default) },
12+
NonEntryTargets = new[] { nameof(BuildVersion), nameof(Generate_Code_Coverage_Reports), nameof(Default) },
13+
ExcludedTargets = new[] { nameof(Restore), nameof(DotnetToolRestore) },
14+
Parameters = new[] { nameof(CoverageDirectory), nameof(ArtifactsDirectory), nameof(Verbosity), nameof(Configuration) }
15+
)]
16+
internal class Solution : DotNetCoreBuild, IDotNetCoreBuild
17+
{
18+
/// <summary>
19+
/// Support plugins are available for:
20+
/// - JetBrains ReSharper https://nuke.build/resharper
21+
/// - JetBrains Rider https://nuke.build/rider
22+
/// - Microsoft VisualStudio https://nuke.build/visualstudio
23+
/// - Microsoft VSCode https://nuke.build/vscode
24+
/// </summary>
25+
public static int Main() => Execute<Solution>(x => x.Default);
26+
27+
private Target Default => _ => _
28+
.DependsOn(Restore)
29+
.DependsOn(Build)
30+
.DependsOn(Test)
31+
.DependsOn(Pack);
32+
33+
public Target Restore => _ => _.With(this, DotNetCoreBuild.Restore);
34+
35+
public Target Build => _ => _.With(this, DotNetCoreBuild.Build);
36+
37+
public Target Test => _ => _.With(this, DotNetCoreBuild.Test);
38+
39+
public Target Pack => _ => _.With(this, DotNetCoreBuild.Pack);
40+
}

.config/dotnet-tools.json

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"version": 1,
3+
"isRoot": true,
4+
"tools": {
5+
"cake.tool": {
6+
"version": "0.35.0",
7+
"commands": [
8+
"dotnet-cake"
9+
]
10+
},
11+
"gitversion.tool": {
12+
"version": "5.0.1",
13+
"commands": [
14+
"dotnet-gitversion"
15+
]
16+
},
17+
"dotnet-reportgenerator-globaltool": {
18+
"version": "4.3.0",
19+
"commands": [
20+
"reportgenerator"
21+
]
22+
}
23+
}
24+
}

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,4 @@ coverage.*.xml
4242
coverage.json
4343
coverage.info
4444
/codealike.json
45+
.tmp/

.nuke

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
LSP.sln
2+

.vscode/settings.json

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
{
22
"coverage-gutters.lcovname": "*.info",
3-
"coverage-gutters.showGutterCoverage": true
3+
"coverage-gutters.showGutterCoverage": true,
4+
"cSpell.words": [
5+
"Unregisterations",
6+
"Unregistration",
7+
"Unregistrations",
8+
"deresult",
9+
"reciever"
10+
]
411
}

Directory.Build.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<Company>OmniSharp</Company>
44
<Copyright>Copyright OmniSharp and contributors © 2018</Copyright>
55
<Authors>David Driscoll</Authors>
6-
<LangVersion>8</LangVersion>
6+
<LangVersion>8.0</LangVersion>
77
<SignAssembly>true</SignAssembly>
88
<DelaySign>false</DelaySign>
99
<PackageLicenseUrl>https://github.com/OmniSharp/csharp-language-server-protocol/blob/master/LICENSE</PackageLicenseUrl>

Directory.Build.targets

+7-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,13 @@
22
<ItemGroup>
33
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
44
</ItemGroup>
5-
5+
<ItemGroup>
6+
<PackageReference Update="GitVersion.Tool" Version="5.1.3" />
7+
<PackageReference Update="JetBrains.ReSharper.CommandLineTools" Version="2019.3.4" />
8+
<PackageReference Update="Nuke.Common" Version="0.24.4" />
9+
<PackageReference Update="ReportGenerator" Version="4.5.0" />
10+
<PackageReference Update="Rocket.Surgery.Nuke.DotNetCore" Version="0.13.4" />
11+
</ItemGroup>
612
<ItemGroup>
713
<PackageReference Update="Microsoft.Extensions.Logging" Version="2.0.0" />
814
<PackageReference Update="Microsoft.Extensions.Logging.Abstractions" Version="2.0.0" />

LSP.sln

+11-2
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,9 @@ EndProject
1616
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".config", ".config", "{AE4D7807-6F78-428C-A0D9-914BA583A104}"
1717
ProjectSection(SolutionItems) = preProject
1818
.appveyor.yml = .appveyor.yml
19-
.coveralls.yml = .coveralls.yml
2019
.editorconfig = .editorconfig
2120
.gitattributes = .gitattributes
2221
.gitignore = .gitignore
23-
build.cake = build.cake
2422
build.ps1 = build.ps1
2523
build.sh = build.sh
2624
Directory.Build.props = Directory.Build.props
@@ -54,6 +52,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dap.Protocol", "src\Dap.Pro
5452
EndProject
5553
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dap.Server", "src\Dap.Server\Dap.Server.csproj", "{E1A9123B-A236-4240-8C82-A61BD85C3BF4}"
5654
EndProject
55+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = ".build", ".build\.build.csproj", "{28B13787-A442-4D28-BF9A-3D65BF13AAEC}"
56+
EndProject
57+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".build", ".build", "{26522B49-0743-4CBE-BA67-6D17FF65CAB9}"
58+
EndProject
5759
Global
5860
GlobalSection(SolutionConfigurationPlatforms) = preSolution
5961
Debug|Any CPU = Debug|Any CPU
@@ -184,6 +186,12 @@ Global
184186
{E1A9123B-A236-4240-8C82-A61BD85C3BF4}.Release|x64.Build.0 = Release|Any CPU
185187
{E1A9123B-A236-4240-8C82-A61BD85C3BF4}.Release|x86.ActiveCfg = Release|Any CPU
186188
{E1A9123B-A236-4240-8C82-A61BD85C3BF4}.Release|x86.Build.0 = Release|Any CPU
189+
{28B13787-A442-4D28-BF9A-3D65BF13AAEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
190+
{28B13787-A442-4D28-BF9A-3D65BF13AAEC}.Debug|x64.ActiveCfg = Debug|Any CPU
191+
{28B13787-A442-4D28-BF9A-3D65BF13AAEC}.Debug|x86.ActiveCfg = Debug|Any CPU
192+
{28B13787-A442-4D28-BF9A-3D65BF13AAEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
193+
{28B13787-A442-4D28-BF9A-3D65BF13AAEC}.Release|x64.ActiveCfg = Release|Any CPU
194+
{28B13787-A442-4D28-BF9A-3D65BF13AAEC}.Release|x86.ActiveCfg = Release|Any CPU
187195
EndGlobalSection
188196
GlobalSection(SolutionProperties) = preSolution
189197
HideSolutionNode = FALSE
@@ -199,6 +207,7 @@ Global
199207
{E540868F-438E-4F7F-BBB7-010D6CB18A57} = {D764E024-3D3F-4112-B932-2DB722A1BACC}
200208
{F2C9D555-118E-442B-A953-9A7B58A53F33} = {D764E024-3D3F-4112-B932-2DB722A1BACC}
201209
{E1A9123B-A236-4240-8C82-A61BD85C3BF4} = {D764E024-3D3F-4112-B932-2DB722A1BACC}
210+
{28B13787-A442-4D28-BF9A-3D65BF13AAEC} = {26522B49-0743-4CBE-BA67-6D17FF65CAB9}
202211
EndGlobalSection
203212
GlobalSection(ExtensibilityGlobals) = postSolution
204213
SolutionGuid = {D38DD0EC-D095-4BCD-B8AF-2D788AF3B9AE}

azure-pipelines.nuke.yml

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# ------------------------------------------------------------------------------
2+
# <auto-generated>
3+
#
4+
# This code was generated.
5+
#
6+
# - To turn off auto-generation set:
7+
#
8+
# [AzurePipelinesSteps (AutoGenerate = false)]
9+
#
10+
# - To trigger manual generation invoke:
11+
#
12+
# nuke --generate-configuration AzurePipelines --host AzurePipelines
13+
#
14+
# </auto-generated>
15+
# ------------------------------------------------------------------------------
16+
17+
#
18+
parameters:
19+
Configuration: 'Release'
20+
Artifacts: ''
21+
Coverage: ''
22+
Verbosity: 'Normal'
23+
steps:
24+
- pwsh: ./build.ps1 BuildVersion Clean --skip --configuration '${{ parameters.Configuration }}' --artifacts '${{ parameters.Artifacts }}' --coverage '${{ parameters.Coverage }}' --verbosity '${{ parameters.Verbosity }}'
25+
displayName: 'Clean'
26+
- pwsh: ./build.ps1 Build --skip --configuration '${{ parameters.Configuration }}' --artifacts '${{ parameters.Artifacts }}' --coverage '${{ parameters.Coverage }}' --verbosity '${{ parameters.Verbosity }}'
27+
displayName: '⚙ Build'
28+
- pwsh: ./build.ps1 Generate_Code_Coverage_Reports Test --skip --configuration '${{ parameters.Configuration }}' --artifacts '${{ parameters.Artifacts }}' --coverage '${{ parameters.Coverage }}' --verbosity '${{ parameters.Verbosity }}'
29+
displayName: '🚦 Test'
30+
- pwsh: ./build.ps1 Pack --skip --configuration '${{ parameters.Configuration }}' --artifacts '${{ parameters.Artifacts }}' --coverage '${{ parameters.Coverage }}' --verbosity '${{ parameters.Verbosity }}'
31+
displayName: '📦 Pack'

0 commit comments

Comments
 (0)