diff --git a/Source/chocolatey-language-server/Engine/TextPositions.cs b/Source/chocolatey-language-server/Engine/TextPositions.cs index cfc375c..c8be6ef 100644 --- a/Source/chocolatey-language-server/Engine/TextPositions.cs +++ b/Source/chocolatey-language-server/Engine/TextPositions.cs @@ -27,6 +27,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE using System; using System.Collections.Generic; using OmniSharp.Extensions.LanguageServer.Protocol.Models; +using Range = OmniSharp.Extensions.LanguageServer.Protocol.Models.Range; namespace Chocolatey.Language.Server.Engine { diff --git a/Source/chocolatey-language-server/chocolatey-language-server.csproj b/Source/chocolatey-language-server/chocolatey-language-server.csproj index 120c520..38f3ff0 100644 --- a/Source/chocolatey-language-server/chocolatey-language-server.csproj +++ b/Source/chocolatey-language-server/chocolatey-language-server.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.1 + netcoreapp3.1 latest diff --git a/nuspec/nuget/chocolatey-lsp.nuspec b/nuspec/nuget/chocolatey-lsp.nuspec new file mode 100644 index 0000000..ef87609 --- /dev/null +++ b/nuspec/nuget/chocolatey-lsp.nuspec @@ -0,0 +1,21 @@ + + + + chocolatey-lsp-win64 + $version$ + Codecov + Larz White, Kim J. Nordmo + Larz White, Kim J. Nordmo + MIT + https://github.com/codecov/codecov-exe + https://cdn.jsdelivr.net/gh/codecov/media@0953f4e0d5315fb6d526a248bc88e1bc16506a37/logos/pink.png + false + Codecov global executable uploader. + +Codecov global executable uploader for PowerShell and .NET applications/libraries. Supports Windows, Linux and OSX. + + Copyright (c) 2017-Present Larz White, Kim J. Nordmo + All release notes for Codecov can be found on the GitHub site - https://github.com/codecov/codecov-exe/releases/tag/$version$ + coverage codecov + + \ No newline at end of file diff --git a/recipe.cake b/recipe.cake index dc33b9c..5b49946 100644 --- a/recipe.cake +++ b/recipe.cake @@ -23,4 +23,82 @@ ToolSettings.SetToolSettings(context: Context, testCoverageExcludeByAttribute: "*.ExcludeFromCodeCoverage*", testCoverageExcludeByFile: "*/*Designer.cs;*/*.g.cs;*/*.g.i.cs"); +var NativeRuntimes = new Dictionary +{ + [PlatformFamily.Windows] = "win-x64", + [PlatformFamily.Linux] = "linux-x64", + [PlatformFamily.OSX] = "osx-x64", +}; + +Task("DotNetCore-Publish") + .IsDependeeOf("Create-NuGet-Packages") + .IsDependentOn("DotNetCore-Test") + .Does(() => +{ + foreach(var runtime in NativeRuntimes) + { + var runtimeName = runtime.Value; + + var settings = new DotNetCorePublishSettings + { + Framework = "netcoreapp3.1", + Runtime = runtimeName, + NoRestore = false, + Configuration = BuildParameters.Configuration, + OutputDirectory = BuildParameters.Paths.Directories.TempBuild.Combine("Native").Combine(runtimeName), + MSBuildSettings = new DotNetCoreMSBuildSettings() + .WithProperty("Version", BuildParameters.Version.SemVersion) + .WithProperty("AssemblyVersion", BuildParameters.Version.Version) + .WithProperty("FileVersion", BuildParameters.Version.Version) + .WithProperty("AssemblyInformationalVersion", BuildParameters.Version.InformationalVersion) + }; + + settings.ArgumentCustomization = + arg => arg + .Append("/p:PublishTrimmed=true"); + + DotNetCorePublish(BuildParameters.SolutionFilePath.FullPath, settings); + } +}); + +((CakeTask)BuildParameters.Tasks.CreateNuGetPackagesTask.Task).Actions.Clear(); + +BuildParameters.Tasks.CreateNuGetPackagesTask.Does(() => +{ + var nuspecFiles = GetFiles(BuildParameters.Paths.Directories.NugetNuspecDirectory + "/**/*.nuspec"); + + EnsureDirectoryExists(BuildParameters.Paths.Directories.NuGetPackages); + + foreach (var nuspecFile in nuspecFiles) + { + foreach (var runtime in NativeRuntimes) + { + var runtimeName = runtime.Value; + var baseDirectory = BuildParameters.Paths.Directories.TempBuild.Combine("Native").Combine(runtimeName); + if (!DirectoryExists(baseDirectory)) + { + Warning("Published directory for " + runtimeName + "Does not exist"); + continue; + } + + NuGetPack(nuspecFile, new NuGetPackSettings + { + Id = nuspecFile.GetFilenameWithoutExtension() + ".Runtime." + runtimeName, + Version = BuildParameters.Version.SemVersion, + BasePath = baseDirectory, + OutputDirectory = BuildParameters.Paths.Directories.NuGetPackages, + Symbols = false, + NoPackageAnalysis = true, + Files = GetFiles(baseDirectory + "/*").Select(f => new NuSpecContent + { + Source = f.FullPath, + Target = string.Format("tools/{0}/{1}", runtimeName, f.GetFilename()) + }).ToList() + }); + } + } +}); + + + Build.RunDotNetCore(); \ No newline at end of file