diff --git a/NuGet.config b/NuGet.config index abd0203f3b6c..cf26c6c8b14e 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,8 +4,6 @@ - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e8e6b0f1fb00..c333c7a510e6 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -271,22 +271,22 @@ - + https://github.com/dotnet/arcade - 720af493900b2f2bdc48e9ee12577983a5c9be36 + 3f3c360819c5c092d0e4505a67dfe59a33fba557 - + https://github.com/dotnet/arcade - 720af493900b2f2bdc48e9ee12577983a5c9be36 + 3f3c360819c5c092d0e4505a67dfe59a33fba557 - + https://github.com/dotnet/arcade - 720af493900b2f2bdc48e9ee12577983a5c9be36 + 3f3c360819c5c092d0e4505a67dfe59a33fba557 - + https://github.com/dotnet/arcade - 720af493900b2f2bdc48e9ee12577983a5c9be36 + 3f3c360819c5c092d0e4505a67dfe59a33fba557 https://github.com/dotnet/runtime diff --git a/eng/Versions.props b/eng/Versions.props index 16bf47200a82..224ede46e0fb 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -34,7 +34,7 @@ 6.0.0 4.0.0 6.0.0 - 7.0.0-beta.22464.4 + 7.0.0-beta.22558.4 7.0.0-preview.22423.2 7.0.0 4.3.0 @@ -187,7 +187,7 @@ 6.7.0 6.1.0 - 7.0.0-beta.22464.4 + 7.0.0-beta.22558.4 4.8.2 6.0.0-beta.22262.1 diff --git a/eng/common/build.ps1 b/eng/common/build.ps1 index 8943da242f6e..e0420a642755 100644 --- a/eng/common/build.ps1 +++ b/eng/common/build.ps1 @@ -26,6 +26,7 @@ Param( [string] $runtimeSourceFeed = '', [string] $runtimeSourceFeedKey = '', [switch] $excludePrereleaseVS, + [switch] $nativeToolsOnMachine, [switch] $help, [Parameter(ValueFromRemainingArguments=$true)][String[]]$properties ) @@ -66,6 +67,7 @@ function Print-Usage() { Write-Host " -prepareMachine Prepare machine for CI run, clean up processes after build" Write-Host " -warnAsError Sets warnaserror msbuild parameter ('true' or 'false')" Write-Host " -msbuildEngine Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)." + Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)" Write-Host " -excludePrereleaseVS Set to exclude build engines in prerelease versions of Visual Studio" Write-Host "" @@ -146,6 +148,9 @@ try { $nodeReuse = $false } + if ($nativeToolsOnMachine) { + $env:NativeToolsOnMachine = $true + } if ($restore) { InitializeNativeTools } diff --git a/eng/common/init-tools-native.ps1 b/eng/common/init-tools-native.ps1 index 8d48ec5680fc..fbc67effc363 100644 --- a/eng/common/init-tools-native.ps1 +++ b/eng/common/init-tools-native.ps1 @@ -98,11 +98,12 @@ try { Write-Error "Arcade tools directory '$ArcadeToolsDirectory' was not found; artifacts were not properly installed." exit 1 } - $ToolDirectory = (Get-ChildItem -Path "$ArcadeToolsDirectory" -Filter "$ToolName-$ToolVersion*" | Sort-Object -Descending)[0] - if ([string]::IsNullOrWhiteSpace($ToolDirectory)) { + $ToolDirectories = (Get-ChildItem -Path "$ArcadeToolsDirectory" -Filter "$ToolName-$ToolVersion*" | Sort-Object -Descending) + if ($ToolDirectories -eq $null) { Write-Error "Unable to find directory for $ToolName $ToolVersion; please make sure the tool is installed on this image." exit 1 } + $ToolDirectory = $ToolDirectories[0] $BinPathFile = "$($ToolDirectory.FullName)\binpath.txt" if (-not (Test-Path -Path "$BinPathFile")) { Write-Error "Unable to find binpath.txt in '$($ToolDirectory.FullName)' ($ToolName $ToolVersion); artifact is either installed incorrectly or is not a bootstrappable tool." @@ -112,6 +113,7 @@ try { $ToolPath = Convert-Path -Path $BinPath Write-Host "Adding $ToolName to the path ($ToolPath)..." Write-Host "##vso[task.prependpath]$ToolPath" + $env:PATH = "$ToolPath;$env:PATH" $InstalledTools += @{ $ToolName = $ToolDirectory.FullName } } } diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1 index c35087a06019..39be08d4b16c 100644 --- a/eng/common/sdk-task.ps1 +++ b/eng/common/sdk-task.ps1 @@ -64,7 +64,7 @@ try { $GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty } if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) { - $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.2.1" -MemberType NoteProperty + $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.3.1" -MemberType NoteProperty } if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") { $xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index aba6308ad313..449126943299 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -365,8 +365,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements = # If the version of msbuild is going to be xcopied, # use this version. Version matches a package here: - # https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=17.2.1&view=overview - $defaultXCopyMSBuildVersion = '17.2.1' + # https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=17.3.1view=overview + $defaultXCopyMSBuildVersion = '17.3.1' if (!$vsRequirements) { if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') { diff --git a/global.json b/global.json index 01d845abfa21..182a0b637120 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "7.0.100-rc.1.22431.12", + "dotnet": "7.0.100", "runtimes": { "dotnet": [ "$(VSRedistCommonNetCoreSharedFrameworkx6470PackageVersion)" @@ -11,7 +11,7 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22464.4", - "Microsoft.DotNet.Helix.Sdk": "7.0.0-beta.22464.4" + "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22558.4", + "Microsoft.DotNet.Helix.Sdk": "7.0.0-beta.22558.4" } } diff --git a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildALibrary.cs b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildALibrary.cs index 4e8aaa37ba75..99eb0318aa50 100644 --- a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildALibrary.cs +++ b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildALibrary.cs @@ -17,6 +17,7 @@ using Xunit.Abstractions; using Microsoft.NET.TestFramework.ProjectConstruction; using Newtonsoft.Json.Linq; +using NuGet.Versioning; namespace Microsoft.NET.Build.Tests { @@ -393,6 +394,16 @@ public void It_implicitly_defines_compilation_constants_for_the_target_framework [InlineData(new[] { "11.11", "12.12", "13.13" }, "android", "12.12", new[] { "ANDROID", "ANDROID12_12", "ANDROID11_11_OR_GREATER", "ANDROID12_12_OR_GREATER" })] public void It_implicitly_defines_compilation_constants_for_the_target_platform(string[] sdkSupportedTargetPlatformVersion, string targetPlatformIdentifier, string targetPlatformVersion, string[] expectedDefines) { + if (targetPlatformIdentifier.Equals("windows", StringComparison.OrdinalIgnoreCase)) + { + var sdkVersion = SemanticVersion.Parse(TestContext.Current.ToolsetUnderTest.SdkVersion); + if (new SemanticVersion(sdkVersion.Major, sdkVersion.Minor, sdkVersion.Patch) < new SemanticVersion(7, 0, 200)) + { + // Fixed in 7.0.200: https://github.com/dotnet/sdk/pull/29009 + return; + } + } + var targetFramework = "net5.0"; var testAsset = _testAssetsManager .CopyTestAsset("AppWithLibrary", "ImplicitFrameworkConstants", targetFramework, identifier: expectedDefines.GetHashCode().ToString()) diff --git a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildAWindowsDesktopProject.cs b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildAWindowsDesktopProject.cs index 86abf03ea326..b65b0277a4a6 100644 --- a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildAWindowsDesktopProject.cs +++ b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildAWindowsDesktopProject.cs @@ -12,6 +12,7 @@ using System.IO; using System.Linq; using System; +using NuGet.Versioning; namespace Microsoft.NET.Build.Tests { @@ -197,6 +198,16 @@ public void It_fails_if_windows_target_platform_version_is_invalid() [InlineData(false)] public void It_succeeds_if_windows_target_platform_version_does_not_have_trailing_zeros(bool setInTargetframework) { + if (!setInTargetframework) + { + var sdkVersion = SemanticVersion.Parse(TestContext.Current.ToolsetUnderTest.SdkVersion); + if (new SemanticVersion(sdkVersion.Major, sdkVersion.Minor, sdkVersion.Patch) < new SemanticVersion(7, 0, 200)) + { + // Fixed in 7.0.200: https://github.com/dotnet/sdk/pull/29009 + return; + } + } + var testProject = new TestProject() { Name = "ValidWindowsVersion", diff --git a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToUseAnalyzers.cs b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToUseAnalyzers.cs index 889ea4251b86..5d23f17da794 100644 --- a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToUseAnalyzers.cs +++ b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToUseAnalyzers.cs @@ -64,8 +64,8 @@ public void It_resolves_analyzers_correctly(string language, string testAssetNam case "C#": analyzers.Select(x => GetPackageAndPath(x)).Should().BeEquivalentTo(new[] { - ("Microsoft.NET.Sdk", (string) null, "analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll"), - ("Microsoft.NET.Sdk", (string)null, "analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll"), + ("microsoft.net.sdk", (string) null, "analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll"), + ("microsoft.net.sdk", (string)null, "analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll"), ("microsoft.netcore.app.ref", (string)null, "analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll"), ("microsoft.netcore.app.ref", (string)null, "analyzers/dotnet/cs/System.Text.RegularExpressions.Generator.dll"), ("microsoft.codequality.analyzers", "2.6.0", "analyzers/dotnet/cs/Microsoft.CodeQuality.Analyzers.dll"), @@ -81,8 +81,8 @@ public void It_resolves_analyzers_correctly(string language, string testAssetNam case "VB": analyzers.Select(x => GetPackageAndPath(x)).Should().BeEquivalentTo( new[] { - ("Microsoft.NET.Sdk", (string)null, "analyzers/Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers.dll"), - ("Microsoft.NET.Sdk", (string)null, "analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll"), + ("microsoft.net.sdk", (string)null, "analyzers/Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers.dll"), + ("microsoft.net.sdk", (string)null, "analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll"), ("microsoft.codequality.analyzers", "2.6.0", "analyzers/dotnet/vb/Microsoft.CodeQuality.Analyzers.dll"), ("microsoft.codequality.analyzers", "2.6.0", "analyzers/dotnet/vb/Microsoft.CodeQuality.VisualBasic.Analyzers.dll"), ("microsoft.dependencyvalidation.analyzers", "0.9.0", "analyzers/dotnet/Microsoft.DependencyValidation.Analyzers.dll") @@ -161,7 +161,7 @@ public void It_resolves_multitargeted_analyzers() var components = path.Split(new char[] { '/' }, 2); string sdkName = components[0]; string pathInSdk = components[1]; - return (sdkName, null, pathInSdk); + return (sdkName.ToLowerInvariant(), null, pathInSdk); } foreach (var nugetRoot in nugetRoots) @@ -175,11 +175,11 @@ public void It_resolves_multitargeted_analyzers() var packageVersion = components[1]; var pathInPackage = components[2]; // Don't check package version for analyzers included in targeting pack, as the version changes during development - if (packageName.Equals("microsoft.netcore.app.ref", StringComparison.Ordinal)) + if (packageName.Equals("microsoft.netcore.app.ref", StringComparison.OrdinalIgnoreCase)) { packageVersion = null; } - return (packageName, packageVersion, pathInPackage); + return (packageName.ToLowerInvariant(), packageVersion, pathInPackage); } } diff --git a/src/Tests/Microsoft.NET.Sdk.BlazorWebAssembly.Tests/StaticWebAssetsBaselines/Publish60Hosted_Works.Publish.files.json b/src/Tests/Microsoft.NET.Sdk.BlazorWebAssembly.Tests/StaticWebAssetsBaselines/Publish60Hosted_Works.Publish.files.json index 5cd05af188ff..4c4e3fd45d9a 100644 --- a/src/Tests/Microsoft.NET.Sdk.BlazorWebAssembly.Tests/StaticWebAssetsBaselines/Publish60Hosted_Works.Publish.files.json +++ b/src/Tests/Microsoft.NET.Sdk.BlazorWebAssembly.Tests/StaticWebAssetsBaselines/Publish60Hosted_Works.Publish.files.json @@ -92,9 +92,9 @@ "${OutputPath}\\wwwroot\\_framework\\blazor.webassembly.js", "${OutputPath}\\wwwroot\\_framework\\blazor.webassembly.js.br", "${OutputPath}\\wwwroot\\_framework\\blazor.webassembly.js.gz", - "${OutputPath}\\wwwroot\\_framework\\dotnet.6.0.9.[[hash]].js", - "${OutputPath}\\wwwroot\\_framework\\dotnet.6.0.9.[[hash]].js.br", - "${OutputPath}\\wwwroot\\_framework\\dotnet.6.0.9.[[hash]].js.gz", + "${OutputPath}\\wwwroot\\_framework\\dotnet.6.0.11.[[hash]].js", + "${OutputPath}\\wwwroot\\_framework\\dotnet.6.0.11.[[hash]].js.br", + "${OutputPath}\\wwwroot\\_framework\\dotnet.6.0.11.[[hash]].js.gz", "${OutputPath}\\wwwroot\\_framework\\dotnet.timezones.blat", "${OutputPath}\\wwwroot\\_framework\\dotnet.timezones.blat.br", "${OutputPath}\\wwwroot\\_framework\\dotnet.timezones.blat.gz", @@ -115,4 +115,4 @@ "${OutputPath}\\wwwroot\\_framework\\icudt_no_CJK.dat.gz", "${OutputPath}\\wwwroot\\css\\app.css", "${OutputPath}\\wwwroot\\index.html" -] \ No newline at end of file +] diff --git a/src/Tests/Microsoft.NET.Sdk.BlazorWebAssembly.Tests/StaticWebAssetsBaselines/Publish60Hosted_Works.Publish.staticwebassets.json b/src/Tests/Microsoft.NET.Sdk.BlazorWebAssembly.Tests/StaticWebAssetsBaselines/Publish60Hosted_Works.Publish.staticwebassets.json index f73f86ac25f2..7a282a9e67ec 100644 --- a/src/Tests/Microsoft.NET.Sdk.BlazorWebAssembly.Tests/StaticWebAssetsBaselines/Publish60Hosted_Works.Publish.staticwebassets.json +++ b/src/Tests/Microsoft.NET.Sdk.BlazorWebAssembly.Tests/StaticWebAssetsBaselines/Publish60Hosted_Works.Publish.staticwebassets.json @@ -46,12 +46,12 @@ "OriginalItemSpec": "${RestorePath}\\microsoft.aspnetcore.components.webassembly\\[[CustomPackageVersion]]\\build\\net6.0\\blazor.webassembly.js" }, { - "Identity": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\dotnet.6.0.9.[[hash]].js", + "Identity": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\dotnet.6.0.11.[[hash]].js", "SourceId": "BlazorWasmHosted60.Client", "SourceType": "Project", "ContentRoot": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\publish\\wwwroot\\", "BasePath": "/", - "RelativePath": "_framework/dotnet.6.0.9.[[hash]].js", + "RelativePath": "_framework/dotnet.6.0.11.[[hash]].js", "AssetKind": "Publish", "AssetMode": "All", "AssetRole": "Primary", @@ -60,7 +60,7 @@ "AssetTraitValue": "native", "CopyToOutputDirectory": "Never", "CopyToPublishDirectory": "PreserveNewest", - "OriginalItemSpec": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\dotnet.6.0.9.[[hash]].js" + "OriginalItemSpec": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\dotnet.6.0.11.[[hash]].js" }, { "Identity": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\dotnet.timezones.blat", @@ -233,21 +233,21 @@ "OriginalItemSpec": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\blazor.webassembly.js" }, { - "Identity": "${ProjectRoot}\\Client\\obj\\Debug\\net6.0\\build-gz\\[[_framework/dotnet.6.0.9.[[hash]].js.gz]]", + "Identity": "${ProjectRoot}\\Client\\obj\\Debug\\net6.0\\build-gz\\[[_framework/dotnet.6.0.11.[[hash]].js.gz]]", "SourceId": "BlazorWasmHosted60.Client", "SourceType": "Project", "ContentRoot": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\publish\\wwwroot\\", "BasePath": "/", - "RelativePath": "_framework/dotnet.6.0.9.[[hash]].js.gz", + "RelativePath": "_framework/dotnet.6.0.11.[[hash]].js.gz", "AssetKind": "Publish", "AssetMode": "All", "AssetRole": "Alternative", - "RelatedAsset": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\dotnet.6.0.9.[[hash]].js", + "RelatedAsset": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\dotnet.6.0.11.[[hash]].js", "AssetTraitName": "Content-Encoding", "AssetTraitValue": "gzip", "CopyToOutputDirectory": "Never", "CopyToPublishDirectory": "PreserveNewest", - "OriginalItemSpec": "${ProjectRoot}\\Client\\obj\\Debug\\net6.0\\build-gz\\[[_framework/dotnet.6.0.9.[[hash]].js.gz]]" + "OriginalItemSpec": "${ProjectRoot}\\Client\\obj\\Debug\\net6.0\\build-gz\\[[_framework/dotnet.6.0.11.[[hash]].js.gz]]" }, { "Identity": "${ProjectRoot}\\Client\\obj\\Debug\\net6.0\\build-gz\\[[_framework/dotnet.wasm.gz]]", @@ -1270,21 +1270,21 @@ "OriginalItemSpec": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\blazor.webassembly.js" }, { - "Identity": "${ProjectRoot}\\Client\\obj\\Debug\\net6.0\\compress\\[[_framework/dotnet.6.0.9.[[hash]].js.br]]", + "Identity": "${ProjectRoot}\\Client\\obj\\Debug\\net6.0\\compress\\[[_framework/dotnet.6.0.11.[[hash]].js.br]]", "SourceId": "BlazorWasmHosted60.Client", "SourceType": "Project", "ContentRoot": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\publish\\wwwroot\\", "BasePath": "/", - "RelativePath": "_framework/dotnet.6.0.9.[[hash]].js.br", + "RelativePath": "_framework/dotnet.6.0.11.[[hash]].js.br", "AssetKind": "Publish", "AssetMode": "All", "AssetRole": "Alternative", - "RelatedAsset": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\dotnet.6.0.9.[[hash]].js", + "RelatedAsset": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\dotnet.6.0.11.[[hash]].js", "AssetTraitName": "Content-Encoding", "AssetTraitValue": "br", "CopyToOutputDirectory": "Never", "CopyToPublishDirectory": "PreserveNewest", - "OriginalItemSpec": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\dotnet.6.0.9.[[hash]].js" + "OriginalItemSpec": "${ProjectRoot}\\Client\\bin\\Debug\\net6.0\\wwwroot\\_framework\\dotnet.6.0.11.[[hash]].js" }, { "Identity": "${ProjectRoot}\\Client\\obj\\Debug\\net6.0\\compress\\[[_framework/dotnet.timezones.blat.br]]", @@ -2001,4 +2001,4 @@ "OriginalItemSpec": "wwwroot\\index.html" } ] -} \ No newline at end of file +}