Skip to content

Commit 2fe3738

Browse files
authored
Merge pull request #2588 from OmniSharp/jorobich/update-versions
Update SDKs and dependencies
2 parents 187bb89 + fac4edd commit 2fe3738

43 files changed

Lines changed: 176 additions & 511 deletions

Some content is hidden

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

.github/workflows/build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
name: 'Build'
33
env:
4-
DotNetVersion: "8.0.100-rc.1.23463.5"
5-
DotNetVersion2: "7.0.302"
6-
DotNetVersion3: "6.0.203"
4+
DotNetVersion: "8.0.100"
5+
DotNetVersion2: "7.0.404"
6+
DotNetVersion3: "6.0.203" # This is the last version Mono supports. It is used for our Mono CI tests.
77
NuGetVersion: "6.5.0"
88
MonoVersion: "6.12.0"
99
Artifacts: ${{ github.workspace }}/artifacts/

.github/workflows/tests-net6.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
name: 'Tests net6.0'
33
env:
4-
DotNetVersion: "8.0.100-rc.1.23463.5"
5-
DotNetVersion2: "7.0.302"
6-
DotNetVersion3: "6.0.203"
4+
DotNetVersion: "8.0.100"
5+
DotNetVersion2: "7.0.404"
6+
DotNetVersion3: "6.0.203" # This is the last version Mono supports. It is used for our Mono CI tests.
77
NuGetVersion: "6.5.0"
88
MonoVersion: "6.12.0"
99
Artifacts: ${{ github.workspace }}/artifacts/

.github/workflows/tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
name: 'Tests'
33
env:
4-
DotNetVersion: "8.0.100-rc.1.23463.5"
5-
DotNetVersion2: "7.0.302"
6-
DotNetVersion3: "6.0.203"
4+
DotNetVersion: "8.0.100"
5+
DotNetVersion2: "7.0.404"
6+
DotNetVersion3: "6.0.203" # This is the last version Mono supports. It is used for our Mono CI tests.
77
NuGetVersion: "6.5.0"
88
MonoVersion: "6.12.0"
99
Artifacts: ${{ github.workspace }}/artifacts/

.pipelines/init.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
parameters:
22
# Configuration: Release
33
Verbosity: Normal
4-
DotNetVersion: "8.0.100-rc.1.23463.5"
5-
DotNetVersion2: "7.0.302"
6-
DotNetVersion3: "6.0.203"
4+
DotNetVersion: "8.0.100"
5+
DotNetVersion2: "7.0.404"
6+
DotNetVersion3: "6.0.203" # This is the last version Mono supports. It is used for our Mono CI tests.
77
CakeVersion: "1.1.0"
88
NuGetVersion: "5.7.0"
99
MonoVersion: ''

Directory.Packages.props

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,28 @@
55
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
66

77
<OmniSharpExtensionsPackageVersion>0.19.9</OmniSharpExtensionsPackageVersion>
8-
<MicrosoftExtensionPackageVersion>7.0.0</MicrosoftExtensionPackageVersion>
9-
<MicrosoftTestPackageVersion>17.6.0</MicrosoftTestPackageVersion>
8+
<MicrosoftExtensionPackageVersion>8.0.0</MicrosoftExtensionPackageVersion>
9+
<MicrosoftTestPackageVersion>17.8.0</MicrosoftTestPackageVersion>
1010
<MSBuildPackageVersion>17.3.2</MSBuildPackageVersion>
11-
<NuGetPackageVersion>6.8.0-preview.1.69</NuGetPackageVersion>
12-
<RoslynPackageVersion>4.9.0-1.23504.3</RoslynPackageVersion>
13-
<XunitPackageVersion>2.4.1</XunitPackageVersion>
11+
<NuGetPackageVersion>6.8.0-rc.122</NuGetPackageVersion>
12+
<RoslynPackageVersion>4.9.0-3.23611.3</RoslynPackageVersion>
13+
<XunitPackageVersion>2.6.1</XunitPackageVersion>
1414
</PropertyGroup>
1515

1616
<ItemGroup>
17-
<PackageVersion Include="BenchmarkDotNet" Version="0.12.1" />
18-
<PackageVersion Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.12.1" />
17+
<PackageVersion Include="BenchmarkDotNet" Version="0.13.10" />
18+
<PackageVersion Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.13.10" />
1919

20-
<PackageVersion Include="Cake.Scripting.Transport" Version="0.9.0" />
20+
<PackageVersion Include="Cake.Scripting.Transport" Version="0.15.0" />
2121

2222
<PackageVersion Include="DiffPlex" Version="1.7.1" />
2323

2424
<PackageVersion Include="Dotnet.Script.DependencyModel" Version="1.5.0" />
2525
<PackageVersion Include="Dotnet.Script.DependencyModel.NuGet" Version="1.5.0" />
2626

27-
<PackageVersion Include="ICSharpCode.Decompiler" Version="7.2.1.6856" />
27+
<PackageVersion Include="ICSharpCode.Decompiler" Version="8.2.0.7535" />
2828

29-
<PackageVersion Include="McMaster.Extensions.CommandLineUtils" Version="3.1.0" />
29+
<PackageVersion Include="McMaster.Extensions.CommandLineUtils" Version="4.1.0" />
3030

3131
<PackageVersion Include="Microsoft.Build" Version="$(MSBuildPackageVersion)" />
3232
<PackageVersion Include="Microsoft.Build.Framework" Version="$(MSBuildPackageVersion)" />
@@ -39,6 +39,7 @@
3939
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="$(RoslynPackageVersion)" />
4040
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="$(RoslynPackageVersion)" />
4141
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="$(RoslynPackageVersion)" />
42+
<PackageVersion Include="Microsoft.CodeAnalysis.ExternalAccess.AspNetCore" Version="$(RoslynPackageVersion)" />
4243
<PackageVersion Include="Microsoft.CodeAnalysis.ExternalAccess.OmniSharp" Version="$(RoslynPackageVersion)" />
4344
<PackageVersion Include="Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.CSharp" Version="$(RoslynPackageVersion)" />
4445
<PackageVersion Include="Microsoft.CodeAnalysis.ExternalAccess.RazorCompiler" Version="$(RoslynPackageVersion)" />
@@ -58,15 +59,12 @@
5859
<PackageVersion Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionPackageVersion)" />
5960
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="$(MicrosoftExtensionPackageVersion)" />
6061

61-
<PackageVersion Include="Microsoft.Build.Locator" Version="1.4.1" />
62+
<PackageVersion Include="Microsoft.Build.Locator" Version="1.6.10" />
6263

6364
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftTestPackageVersion)" />
6465
<PackageVersion Include="Microsoft.TestPlatform.TranslationLayer" Version="$(MicrosoftTestPackageVersion)" />
6566
<PackageVersion Include="Microsoft.TestPlatform.ObjectModel" Version="$(MicrosoftTestPackageVersion)" />
6667

67-
<PackageVersion Include="Microsoft.VisualStudio.Setup.Configuration.Interop" Version="1.14.114" />
68-
<PackageVersion Include="Microsoft.VisualStudio.SDK.EmbedInteropTypes" Version="15.0.12" />
69-
7068
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
7169

7270
<PackageVersion Include="NuGet.Common" Version="$(NuGetPackageVersion)" />
@@ -85,26 +83,25 @@
8583
<PackageVersion Include="OmniSharp.Extensions.JsonRpc" Version="$(OmniSharpExtensionsPackageVersion)" />
8684

8785
<PackageVersion Include="SQLitePCLRaw.bundle_green" Version="2.1.0" />
88-
<PackageVersion Include="System.Collections.Immutable" Version="7.0.0" />
89-
<PackageVersion Include="System.ComponentModel.Composition" Version="7.0.0" />
90-
<PackageVersion Include="System.Composition" Version="7.0.0" />
91-
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="7.0.0" />
86+
87+
<PackageVersion Include="System.Collections.Immutable" Version="8.0.0" />
88+
<PackageVersion Include="System.ComponentModel.Composition" Version="8.0.0" />
89+
<PackageVersion Include="System.Composition" Version="8.0.0" />
90+
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.0" />
9291
<PackageVersion Include="System.Memory" Version="4.5.5" />
93-
<PackageVersion Include="System.Reflection.Metadata" Version="7.0.0" />
94-
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="7.0.0" />
92+
<PackageVersion Include="System.Reflection.Metadata" Version="8.0.0" />
93+
<PackageVersion Include="System.Text.Json" Version="8.0.0" />
94+
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="8.0.0" />
9595
<PackageVersion Include="System.ValueTuple" Version="4.5.0" />
9696

9797
<PackageVersion Include="System.Reactive" Version="6.0.0" />
9898

99-
<PackageVersion Include="System.Reflection.DispatchProxy" Version="4.5.1" />
100-
<PackageVersion Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
101-
10299
<PackageVersion Include="xunit.abstractions" Version="2.0.3" />
103-
<PackageVersion Include="xunit.runner.visualstudio" Version="2.4.3" />
100+
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.4" />
104101
<PackageVersion Include="xunit" Version="$(XunitPackageVersion)" />
105102
</ItemGroup>
106103
<ItemGroup>
107-
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
104+
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
108105
</ItemGroup>
109106
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
110107
<PackageVersion Include="Microsoft.AspNetCore.Diagnostics" Version="2.2.0" />

NuGet.Config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<package pattern="Cake.*" />
1919
<package pattern="DiffPlex" />
2020
<package pattern="Dotnet.Script.*" />
21+
<package pattern="Gee.External.Capstone" />
2122
<package pattern="Humanizer.Core" />
2223
<package pattern="ICSharpCode.Decompiler" />
2324
<package pattern="McMaster.Extensions.CommandLineUtils" />

azure-pipelines.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ resources:
3232

3333
variables:
3434
Verbosity: Diagnostic
35-
DotNetVersion: "8.0.100-rc.1.23463.5"
35+
DotNetVersion: "8.0.100"
3636
CakeVersion: "3.0.0"
3737
NuGetVersion: "6.5.0"
3838
GitVersionVersion: "5.0.1"

build.cake

Lines changed: 68 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,10 @@ Task("Cleanup")
4949
Task("GitVersion")
5050
.WithCriteria(!BuildSystem.IsLocalBuild)
5151
.WithCriteria(!AzurePipelines.IsRunningOnAzurePipelines)
52-
.Does(() => {
53-
GitVersion(new GitVersionSettings{
52+
.Does(() =>
53+
{
54+
GitVersion(new GitVersionSettings
55+
{
5456
OutputType = GitVersionOutput.BuildServer
5557
});
5658
});
@@ -153,16 +155,20 @@ Task("PrepareTestAssets:CommonTestAssets")
153155

154156
var folder = CombinePaths(env.Folders.TestAssets, "test-projects", project);
155157

156-
try {
158+
try
159+
{
157160
DotNetBuild(folder, new DotNetBuildSettings()
158161
{
159162
ToolPath = env.DotNetCommand,
160163
WorkingDirectory = folder,
161164
Verbosity = DotNetVerbosity.Minimal
162165
});
163-
} catch {
166+
}
167+
catch
168+
{
164169
// ExternalAlias has issues once in a while, try building again to get it working.
165-
if (project == "ExternAlias") {
170+
if (project == "ExternAlias")
171+
{
166172

167173
DotNetBuild(folder, new DotNetBuildSettings()
168174
{
@@ -216,7 +222,8 @@ Task("PrepareTestAssets:CakeTestAssets")
216222
var toolsFolder = CombinePaths(env.Folders.TestAssets, "test-projects", project, "tools");
217223
var packagesConfig = CombinePaths(toolsFolder, "packages.config");
218224

219-
NuGetInstallFromConfig(packagesConfig, new NuGetInstallSettings {
225+
NuGetInstallFromConfig(packagesConfig, new NuGetInstallSettings
226+
{
220227
OutputDirectory = toolsFolder,
221228
Prerelease = true,
222229
Verbosity = NuGetVerbosity.Quiet,
@@ -248,7 +255,8 @@ void BuildWithDotNetCli(BuildEnvironment env, string configuration)
248255
};
249256

250257
settings.AddFileLogger(
251-
new MSBuildFileLoggerSettings {
258+
new MSBuildFileLoggerSettings
259+
{
252260
AppendToLogFile = false,
253261
LogFile = logFileNameBase + ".log",
254262
ShowTimestamp = true,
@@ -294,51 +302,51 @@ Task("Test")
294302
.IsDependentOn("PrepareTestAssets")
295303
.Does(() =>
296304
{
297-
var testTargetFramework = useDotNetTest ? "net7.0" : "net472";
298-
var testProjects = string.IsNullOrEmpty(testProjectArgument) ? buildPlan.TestProjects : testProjectArgument.Split(',');
299-
foreach (var testProject in testProjects)
305+
var testTargetFramework = useDotNetTest ? "net7.0" : "net472";
306+
var testProjects = string.IsNullOrEmpty(testProjectArgument) ? buildPlan.TestProjects : testProjectArgument.Split(',');
307+
foreach (var testProject in testProjects)
308+
{
309+
PrintBlankLine();
310+
var instanceFolder = CombinePaths(env.Folders.Bin, configuration, testProject, testTargetFramework);
311+
var targetPath = CombinePaths(instanceFolder, $"{testProject}.dll");
312+
313+
if (useDotNetTest)
300314
{
301-
PrintBlankLine();
302-
var instanceFolder = CombinePaths(env.Folders.Bin, configuration, testProject, testTargetFramework);
303-
var targetPath = CombinePaths(instanceFolder, $"{testProject}.dll");
315+
var logFile = CombinePaths(env.Folders.ArtifactsLogs, $"{testProject}-netsdk-result.xml");
316+
var arguments = $"test \"{targetPath}\" --logger \"console;verbosity=normal\" --logger \"trx;LogFileName={logFile}\" --blame-hang-timeout 60sec";
304317

305-
if (useDotNetTest)
306-
{
307-
var logFile = CombinePaths(env.Folders.ArtifactsLogs, $"{testProject}-netsdk-result.xml");
308-
var arguments = $"test \"{targetPath}\" --logger \"console;verbosity=normal\" --logger \"trx;LogFileName={logFile}\" --blame-hang-timeout 60sec";
318+
Console.WriteLine($"Executing: dotnet {arguments}");
309319

310-
Console.WriteLine($"Executing: dotnet {arguments}");
320+
Run("dotnet", arguments, instanceFolder)
321+
.ExceptionOnError($"Test {testProject} failed for {testTargetFramework}");
322+
}
323+
else
324+
{
325+
var logFile = CombinePaths(env.Folders.ArtifactsLogs, $"{testProject}-desktop-result.xml");
326+
327+
// Copy xunit executable to test folder to solve path errors
328+
var xunitToolsFolder = CombinePaths(env.Folders.Tools, "xunit.runner.console", "tools", "net452");
329+
var xunitInstancePath = CombinePaths(instanceFolder, "xunit.console.exe");
330+
FileHelper.Copy(CombinePaths(xunitToolsFolder, "xunit.console.exe"), xunitInstancePath, overwrite: true);
331+
FileHelper.Copy(CombinePaths(xunitToolsFolder, "xunit.runner.utility.net452.dll"), CombinePaths(instanceFolder, "xunit.runner.utility.net452.dll"), overwrite: true);
332+
var arguments = $"\"{targetPath}\" -noshadow -parallel none -xml \"{logFile}\" -notrait category=failing";
311333

312-
Run("dotnet", arguments, instanceFolder)
334+
if (Platform.Current.IsWindows)
335+
{
336+
Run(xunitInstancePath, arguments, instanceFolder)
313337
.ExceptionOnError($"Test {testProject} failed for {testTargetFramework}");
314338
}
315339
else
316340
{
317-
var logFile = CombinePaths(env.Folders.ArtifactsLogs, $"{testProject}-desktop-result.xml");
341+
// Copy the Mono-built Microsoft.Build.* binaries to the test folder.
342+
// This is necessary to work around a Mono bug that is exasperated by xUnit.
343+
CopyMonoMSBuildBinaries(instanceFolder);
318344

319-
// Copy xunit executable to test folder to solve path errors
320-
var xunitToolsFolder = CombinePaths(env.Folders.Tools, "xunit.runner.console", "tools", "net452");
321-
var xunitInstancePath = CombinePaths(instanceFolder, "xunit.console.exe");
322-
FileHelper.Copy(CombinePaths(xunitToolsFolder, "xunit.console.exe"), xunitInstancePath, overwrite: true);
323-
FileHelper.Copy(CombinePaths(xunitToolsFolder, "xunit.runner.utility.net452.dll"), CombinePaths(instanceFolder, "xunit.runner.utility.net452.dll"), overwrite: true);
324-
var arguments = $"\"{targetPath}\" -noshadow -parallel none -xml \"{logFile}\" -notrait category=failing";
325-
326-
if (Platform.Current.IsWindows)
327-
{
328-
Run(xunitInstancePath, arguments, instanceFolder)
329-
.ExceptionOnError($"Test {testProject} failed for {testTargetFramework}");
330-
}
331-
else
332-
{
333-
// Copy the Mono-built Microsoft.Build.* binaries to the test folder.
334-
// This is necessary to work around a Mono bug that is exasperated by xUnit.
335-
CopyMonoMSBuildBinaries(instanceFolder);
336-
337-
Run("mono", $"\"{xunitInstancePath}\" {arguments}", instanceFolder)
338-
.ExceptionOnError($"Test {testProject} failed for net472");
339-
}
345+
Run("mono", $"\"{xunitInstancePath}\" {arguments}", instanceFolder)
346+
.ExceptionOnError($"Test {testProject} failed for net472");
340347
}
341348
}
349+
}
342350
});
343351

344352
void CopyMonoMSBuildBinaries(string outputFolder)
@@ -370,7 +378,7 @@ void CopyExtraDependencies(BuildEnvironment env, string outputFolder)
370378
FileHelper.Copy(CombinePaths(env.WorkingDirectory, "license.md"), CombinePaths(outputFolder, "license.md"), overwrite: true);
371379
}
372380

373-
void AddOmniSharpBindingRedirects(string omnisharpFolder)
381+
void UpdateBindingRedirects(string omnisharpFolder)
374382
{
375383
var appConfig = CombinePaths(omnisharpFolder, "OmniSharp.exe.config");
376384
if (!FileHelper.Exists(appConfig))
@@ -397,6 +405,17 @@ void AddOmniSharpBindingRedirects(string omnisharpFolder)
397405
assemblyBinding.AppendChild(redirect);
398406
}
399407

408+
// Find Roslyn libraries
409+
foreach (var filePath in System.IO.Directory.GetFiles(omnisharpFolder, "Microsoft.CodeAnalysis.*.dll"))
410+
{
411+
// Read assembly name from Roslyn library
412+
var assemblyName = AssemblyName.GetAssemblyName(filePath);
413+
414+
// Create binding redirect and add to bindings
415+
var redirect = CreateBindingRedirect(document, assemblyName);
416+
assemblyBinding.AppendChild(redirect);
417+
}
418+
400419
runtime.AppendChild(assemblyBinding);
401420

402421
// Save updated app.config
@@ -433,7 +452,7 @@ string PublishMonoBuild(string project, BuildEnvironment env, BuildPlan plan, st
433452
DirectoryHelper.Copy(buildFolder, outputFolder, copySubDirectories: false);
434453

435454
CopyExtraDependencies(env, outputFolder);
436-
AddOmniSharpBindingRedirects(outputFolder);
455+
UpdateBindingRedirects(outputFolder);
437456

438457
// Copy dependencies of Mono build
439458
FileHelper.Copy(
@@ -470,7 +489,7 @@ string PublishMonoBuildForPlatform(string project, MonoRuntime monoRuntime, Buil
470489
Run("chmod", $"+x \"{CombinePaths(outputFolder, "run")}\"");
471490

472491
CopyExtraDependencies(env, outputFolder);
473-
AddOmniSharpBindingRedirects(omnisharpFolder);
492+
UpdateBindingRedirects(omnisharpFolder);
474493

475494
Package(project, monoRuntime.PlatformName, outputFolder, env.Folders.ArtifactsPackage, env.Folders.DeploymentPackage);
476495

@@ -555,7 +574,6 @@ Task("PublishNet6Builds")
555574
PublishBuild(project, env, buildPlan, configuration, "linux-musl-arm64", "net6.0");
556575
}
557576
}
558-
559577
}
560578
});
561579

@@ -597,7 +615,7 @@ string PublishBuild(string project, BuildEnvironment env, BuildPlan plan, string
597615
}
598616

599617
CopyExtraDependencies(env, outputFolder);
600-
AddOmniSharpBindingRedirects(outputFolder);
618+
UpdateBindingRedirects(outputFolder);
601619

602620
var platformFolder = framework != "net472" ? $"{rid}-{framework}" : rid;
603621
Package(project, platformFolder, outputFolder, env.Folders.ArtifactsPackage, env.Folders.DeploymentPackage);
@@ -645,8 +663,10 @@ Task("PublishWindowsBuilds")
645663

646664
Task("PublishNuGet")
647665
.IsDependentOn("InstallDotNetSdk")
648-
.Does(() => {
649-
DotNetPack(".", new DotNetPackSettings() {
666+
.Does(() =>
667+
{
668+
DotNetPack(".", new DotNetPackSettings()
669+
{
650670
Configuration = "Release",
651671
OutputDirectory = "./artifacts/nuget/",
652672
MSBuildSettings = new DotNetMSBuildSettings()

0 commit comments

Comments
 (0)