Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion eng/Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
<PackageVersion Include="NuGet.Frameworks" Version="$(NuGetBuildTasksVersion)" />
<PackageVersion Include="System.Collections.Immutable" Version="$(SystemCollectionsImmutableVersion)" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="$(SystemConfigurationConfigurationManagerVersion)" />
<PackageVersion Include="System.Formats.Asn1" Version="$(SystemFormatsAsn1Version)" />
<PackageVersion Include="System.Memory" Version="$(SystemMemoryVersion)" />
<PackageVersion Include="System.Net.Http" Version="$(SystemNetHttpVersion)" />
<PackageVersion Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" />
Expand Down
5 changes: 1 addition & 4 deletions eng/SourceBuildPrebuiltBaseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,13 @@
<UsageData>
<IgnorePatterns>
<UsagePattern IdentityGlob="Microsoft.SourceBuild.Intermediate.*/*" />
<UsagePattern IdentityGlob="System.Formats.Asn1/*8.0.1*" />
<UsagePattern IdentityGlob="System.Collections.Immutable/*8.0.0*" />

<!-- Baseline 7.0 dependencies until msbuild targets net8 and uses a net8 arcade, SBRP, etc.
These cannot be added to 7.0 SBRP, because they would are produced in the 7.0 build. -->
<UsagePattern IdentityGlob="System.Configuration.ConfigurationManager/*7.0.0*" />
<UsagePattern IdentityGlob="System.Diagnostics.EventLog/*7.0.0*" />
<UsagePattern IdentityGlob="System.Reflection.MetadataLoadContext/*7.0.0*" />
<UsagePattern IdentityGlob="System.Security.Cryptography.ProtectedData/*7.0.0*" />
<UsagePattern IdentityGlob="System.Text.Json/*8.0.5*" />
<UsagePattern IdentityGlob="System.Text.Json/*7.0.3*" />
</IgnorePatterns>
<Usages>
</Usages>
Expand Down
20 changes: 8 additions & 12 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
<!-- Necessary for source-build due to being a transitive dependency of System.Reflection.MetadataLoadContext.
This allows the package to be retrieved from previously-source-built artifacts and flow in as dependencies
of the packages produced by msbuild. -->
<Dependency Name="System.Collections.Immutable" Version="8.0.0">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>5535e31a712343a63f5d7d796cd874e563e5ac14</Sha>
<Dependency Name="System.Collections.Immutable" Version="7.0.0">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>d099f075e45d2aa6007a22b71b45a08758559f80</Sha>
</Dependency>
<!-- Necessary for source-build. This allows the package to be retrieved from previously-source-built artifacts
and flow in as dependencies of the packages produced by msbuild. -->
Expand Down Expand Up @@ -52,17 +52,13 @@
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>d099f075e45d2aa6007a22b71b45a08758559f80</Sha>
</Dependency>
<Dependency Name="System.Text.Json" Version="8.0.5">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>81cabf2857a01351e5ab578947c7403a5b128ad1</Sha>
</Dependency>
<Dependency Name="System.Formats.Asn1" Version="8.0.1">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>2aade6beb02ea367fd97c4070a4198802fe61c03</Sha>
<Dependency Name="System.Text.Json" Version="7.0.3">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>5b20af47d99620150c53eaf5db8636fdf730b126</Sha>
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.25208.7">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.25208.7">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>c7a36e53f91e41943746f97a8c183549364c5092</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
Expand All @@ -86,4 +82,4 @@
<Sha>c7a36e53f91e41943746f97a8c183549364c5092</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
</Dependencies>
9 changes: 4 additions & 5 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the MIT license. See License.txt in the project root for full license information. -->
<Project>
<PropertyGroup>
<VersionPrefix>17.8.26</VersionPrefix>
<VersionPrefix>17.8.29</VersionPrefix>
<DotNetFinalVersionKind>release</DotNetFinalVersionKind>
<PackageValidationBaselineVersion>17.7.0</PackageValidationBaselineVersion>
<AssemblyVersion>15.1.0.0</AssemblyVersion>
Expand All @@ -27,9 +27,8 @@
</PropertyGroup>
<!-- Production Dependencies -->
<PropertyGroup>
<SystemCollectionsImmutableVersion>8.0.0</SystemCollectionsImmutableVersion>
<SystemCollectionsImmutableVersion>7.0.0</SystemCollectionsImmutableVersion>
<SystemConfigurationConfigurationManagerVersion>7.0.0</SystemConfigurationConfigurationManagerVersion>
<SystemFormatsAsn1Version>8.0.1</SystemFormatsAsn1Version>
<!--
Modifying the version of System.Memory is very high impact and causes downstream breaks in third-party tooling that uses the MSBuild API.
When updating the version of System.Memory file a breaking change here: https://github.com/dotnet/docs/issues/new?assignees=gewarren&labels=breaking-change%2CPri1%2Cdoc-idea&template=breaking-change.yml&title=%5BBreaking+change%5D%3A+
Expand All @@ -51,11 +50,11 @@
<MicrosoftCodeAnalysisCollectionsVersion>4.2.0-1.22102.8</MicrosoftCodeAnalysisCollectionsVersion>
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.25208.7</MicrosoftDotNetXUnitExtensionsVersion>
<MicrosoftExtensionsDependencyModelVersion>7.0.0</MicrosoftExtensionsDependencyModelVersion>
<MicrosoftIORedistVersion>6.0.1</MicrosoftIORedistVersion>
<MicrosoftIORedistVersion>6.0.0</MicrosoftIORedistVersion>
<MicrosoftNetCompilersToolsetVersion>4.8.0-3.23465.5</MicrosoftNetCompilersToolsetVersion>
<NuGetBuildTasksVersion>6.8.0-rc.112</NuGetBuildTasksVersion>
<SystemRuntimeCompilerServicesUnsafeVersion>6.0.0</SystemRuntimeCompilerServicesUnsafeVersion>
<SystemTextJsonVersion>8.0.5</SystemTextJsonVersion>
<SystemTextJsonVersion>7.0.3</SystemTextJsonVersion>
<SystemThreadingTasksDataflowVersion>7.0.0</SystemThreadingTasksDataflowVersion>
</PropertyGroup>
<Target Name="OverrideArcadeFileVersion" AfterTargets="_InitializeAssemblyVersion">
Expand Down
58 changes: 1 addition & 57 deletions eng/cibuild_bootstrapped_msbuild.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -64,67 +64,11 @@ try {

if ($buildStage1)
{
& $PSScriptRoot\Common\Build.ps1 -restore -build -ci -msbuildEngine $msbuildEngine /p:CreateBootstrap=true @properties
& $PSScriptRoot\Common\Build.ps1 -restore -build -test -ci -msbuildEngine $msbuildEngine /p:CreateBootstrap=true @properties
}

KillProcessesFromRepo

$bootstrapRoot = Join-Path $Stage1BinDir "bootstrap"

# we need to do this to guarantee we have/know where dotnet.exe is installed
$dotnetToolPath = InitializeDotNetCli $true
$dotnetExePath = Join-Path $dotnetToolPath "dotnet.exe"

if ($msbuildEngine -eq 'vs')
{
$buildToolPath = Join-Path $bootstrapRoot "net472\MSBuild\Current\Bin\MSBuild.exe"
$buildToolCommand = "";
$buildToolFramework = "net472"

if ($configuration -eq "Debug-MONO" -or $configuration -eq "Release-MONO")
{
# Copy MSBuild.dll to MSBuild.exe so we can run it without a host
$sourceDll = Join-Path $bootstrapRoot "net472\MSBuild\Current\Bin\MSBuild.dll"
Copy-Item -Path $sourceDll -Destination $msbuildToUse
}
}
else
{
$buildToolPath = $dotnetExePath
$buildToolCommand = Join-Path $bootstrapRoot "net8.0\MSBuild\MSBuild.dll"
$buildToolFramework = "net8.0"
}

# Use separate artifacts folder for stage 2
# $env:ArtifactsDir = Join-Path $ArtifactsDir "2\"

& $dotnetExePath build-server shutdown

if ($buildStage1)
{
if (Test-Path $Stage1Dir)
{
Remove-Item -Force -Recurse $Stage1Dir
}

Move-Item -Path $ArtifactsDir -Destination $Stage1Dir -Force
}

$buildTool = @{ Path = $buildToolPath; Command = $buildToolCommand; Tool = $msbuildEngine; Framework = $buildToolFramework }
$global:_BuildTool = $buildTool

# Ensure that debug bits fail fast, rather than hanging waiting for a debugger attach.
$env:MSBUILDDONOTLAUNCHDEBUGGER="true"

# Opt into performance logging. https://github.com/dotnet/msbuild/issues/5900
$env:DOTNET_PERFLOG_DIR=$PerfLogDir

# When using bootstrapped MSBuild:
# - Turn off node reuse (so that bootstrapped MSBuild processes don't stay running and lock files)
# - Do run tests
# - Don't try to create a bootstrap deployment
& $PSScriptRoot\Common\Build.ps1 -restore -build -test -ci /p:CreateBootstrap=false /nr:false @properties

exit $lastExitCode
}
catch {
Expand Down
8 changes: 1 addition & 7 deletions eng/cibuild_bootstrapped_msbuild.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ fi

if [[ $build_stage1 == true ]];
then
/bin/bash "$ScriptRoot/common/build.sh" --restore --build --ci --configuration $configuration /p:CreateBootstrap=true $properties $extra_properties || exit $?
/bin/bash "$ScriptRoot/common/build.sh" --restore --build --ci --test --configuration $configuration /p:CreateBootstrap=false $properties $extra_properties || exit $?
fi

bootstrapRoot="$Stage1Dir/bin/bootstrap"
Expand Down Expand Up @@ -93,9 +93,3 @@ export DOTNET_PERFLOG_DIR=$PerfLogDir
# Prior to 3.0, the Csc task uses this environment variable to decide whether to run
# a CLI host or directly execute the compiler.
export DOTNET_HOST_PATH="$_InitializeDotNetCli/dotnet"

# When using bootstrapped MSBuild:
# - Turn off node reuse (so that bootstrapped MSBuild processes don't stay running and lock files)
# - Do run tests
# - Don't try to create a bootstrap deployment
. "$ScriptRoot/common/build.sh" --restore --build --test --ci --nodereuse false --configuration $configuration /p:CreateBootstrap=false $properties $extra_properties
2 changes: 1 addition & 1 deletion eng/common/templates-official/job/source-build.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions eng/common/templates/job/source-build.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/Build.UnitTests/BackEnd/MSBuild_Tests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,7 @@ public void LogErrorWhenBuildingVCProj()
/// However, it's a situation where the project author doesn't have control over the
/// property value and so he can't escape it himself.
/// </summary>
[Fact]
[Fact(Skip = "https://github.com/dotnet/msbuild/issues/11888")]
public void PropertyOverridesContainSemicolon()
{
ObjectModelHelpers.DeleteTempProjectDirectory();
Expand Down
16 changes: 8 additions & 8 deletions src/Build.UnitTests/EscapingInProjects_Tests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -957,7 +957,7 @@ public FullProjectsUsingMicrosoftCommonTargets(ITestOutputHelper output)
/// <summary>
/// ESCAPING: Escaping in conditionals is broken.
/// </summary>
[Fact]
[Fact(Skip = "https://github.com/dotnet/msbuild/issues/11888")]
public void SemicolonInConfiguration()
{
ObjectModelHelpers.DeleteTempProjectDirectory();
Expand Down Expand Up @@ -1017,7 +1017,7 @@ public class Class1
/// <summary>
/// ESCAPING: Escaping in conditionals is broken.
/// </summary>
[Fact]
[Fact(Skip = "https://github.com/dotnet/msbuild/issues/11888")]
public void SemicolonInConfiguration_UsingTaskHost()
{
string originalOverrideTaskHostVariable = Environment.GetEnvironmentVariable("MSBUILDFORCEALLTASKSOUTOFPROC");
Expand Down Expand Up @@ -1087,7 +1087,7 @@ public class Class1
/// <summary>
/// ESCAPING: CopyBuildTarget target fails if the output assembly name contains a semicolon or single-quote
/// </summary>
[Fact]
[Fact(Skip = "https://github.com/dotnet/msbuild/issues/11888")]
public void SemicolonInAssemblyName()
{
ObjectModelHelpers.DeleteTempProjectDirectory();
Expand Down Expand Up @@ -1142,7 +1142,7 @@ public class Class1
/// <summary>
/// ESCAPING: CopyBuildTarget target fails if the output assembly name contains a semicolon or single-quote
/// </summary>
[Fact]
[Fact(Skip = "https://github.com/dotnet/msbuild/issues/11888")]
public void SemicolonInAssemblyName_UsingTaskHost()
{
string originalOverrideTaskHostVariable = Environment.GetEnvironmentVariable("MSBUILDFORCEALLTASKSOUTOFPROC");
Expand Down Expand Up @@ -1207,7 +1207,7 @@ public class Class1
/// <summary>
/// ESCAPING: Conversion Issue: Properties with $(xxx) as literals are not being converted correctly
/// </summary>
[Fact]
[Fact(Skip = "https://github.com/dotnet/msbuild/issues/11888")]
public void DollarSignInAssemblyName()
{
ObjectModelHelpers.DeleteTempProjectDirectory();
Expand Down Expand Up @@ -1262,7 +1262,7 @@ public class Class1
/// <summary>
/// ESCAPING: Conversion Issue: Properties with $(xxx) as literals are not being converted correctly
/// </summary>
[Fact]
[Fact(Skip = "https://github.com/dotnet/msbuild/issues/11888")]
public void DollarSignInAssemblyName_UsingTaskHost()
{
string originalOverrideTaskHostVariable = Environment.GetEnvironmentVariable("MSBUILDFORCEALLTASKSOUTOFPROC");
Expand Down Expand Up @@ -1327,7 +1327,7 @@ public class Class1
/// <summary>
/// This is the case when one of the source code files in the project has a filename containing a semicolon.
/// </summary>
[Fact]
[Fact(Skip = "https://github.com/dotnet/msbuild/issues/11888")]
public void SemicolonInSourceCodeFilename()
{
ObjectModelHelpers.DeleteTempProjectDirectory();
Expand Down Expand Up @@ -1382,7 +1382,7 @@ public class Class1
/// <summary>
/// This is the case when one of the source code files in the project has a filename containing a semicolon.
/// </summary>
[Fact]
[Fact(Skip = "https://github.com/dotnet/msbuild/issues/11888")]
public void SemicolonInSourceCodeFilename_UsingTaskHost()
{
string originalOverrideTaskHostVariable = Environment.GetEnvironmentVariable("MSBUILDFORCEALLTASKSOUTOFPROC");
Expand Down
22 changes: 11 additions & 11 deletions src/MSBuild/app.amd64.config
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@

<dependentAssembly>
<assemblyIdentity name="Microsoft.IO.Redist" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="6.0.0.1" />
<codeBase version="6.0.0.1" href="..\Microsoft.IO.Redist.dll"/>
<bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="6.0.0.0" />
<codeBase version="6.0.0.0" href="..\Microsoft.IO.Redist.dll"/>
</dependentAssembly>

<!-- Redirects for assemblies redistributed by MSBuild (in the .vsix). -->
Expand All @@ -68,8 +68,8 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
<codeBase version="8.0.0.0" href="..\Microsoft.Bcl.AsyncInterfaces.dll"/>
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
<codeBase version="7.0.0.0" href="..\Microsoft.Bcl.AsyncInterfaces.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.NET.StringTools" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
Expand All @@ -94,8 +94,8 @@
<!-- Pull plugins that reference SCI up to our version in case they depended on our copy of the older version -->
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
<codeBase version="8.0.0.0" href="..\System.Collections.Immutable.dll"/>
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
<codeBase version="7.0.0.0" href="..\System.Collections.Immutable.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
Expand Down Expand Up @@ -129,13 +129,13 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
<codeBase version="8.0.0.0" href="..\System.Text.Encodings.Web.dll"/>
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
<codeBase version="7.0.0.0" href="..\System.Text.Encodings.Web.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.5" newVersion="8.0.0.5" />
<codeBase version="8.0.0.5" href="..\System.Text.Json.dll"/>
<bindingRedirect oldVersion="0.0.0.0-7.0.0.3" newVersion="7.0.0.3" />
<codeBase version="7.0.0.3" href="..\System.Text.Json.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
Expand Down Expand Up @@ -229,4 +229,4 @@
</projectImportSearchPaths>
</toolset>
</msbuildToolsets>
</configuration>
</configuration>
Loading
Loading