Skip to content

Commit ea49be9

Browse files
authored
[release/8.0.3xx] Update dependencies from dotnet/msbuild (#39093)
2 parents 6cd00d5 + 4d2c284 commit ea49be9

File tree

4 files changed

+90
-68
lines changed

4 files changed

+90
-68
lines changed

eng/Version.Details.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,17 +51,17 @@
5151
<Uri>https://github.com/dotnet/emsdk</Uri>
5252
<Sha>2fc2ffd960930318f33fcaa690cbdbc55d72f52d</Sha>
5353
</Dependency>
54-
<Dependency Name="Microsoft.Build" Version="17.10.0-preview-24127-03">
54+
<Dependency Name="Microsoft.Build" Version="17.10.0-preview-24162-02">
5555
<Uri>https://github.com/dotnet/msbuild</Uri>
56-
<Sha>6f44380e4fdea6ddf5c11f48efeb25c2bf181e62</Sha>
56+
<Sha>0326fd7c9e131c4c26bac3c0f72a43ef9fd2812c</Sha>
5757
</Dependency>
58-
<Dependency Name="Microsoft.Build.Localization" Version="17.10.0-preview-24127-03">
58+
<Dependency Name="Microsoft.Build.Localization" Version="17.10.0-preview-24162-02">
5959
<Uri>https://github.com/dotnet/msbuild</Uri>
60-
<Sha>6f44380e4fdea6ddf5c11f48efeb25c2bf181e62</Sha>
60+
<Sha>0326fd7c9e131c4c26bac3c0f72a43ef9fd2812c</Sha>
6161
</Dependency>
62-
<Dependency Name="Microsoft.SourceBuild.Intermediate.msbuild" Version="17.10.0-preview-24127-03">
62+
<Dependency Name="Microsoft.SourceBuild.Intermediate.msbuild" Version="17.10.0-preview-24162-02">
6363
<Uri>https://github.com/dotnet/msbuild</Uri>
64-
<Sha>6f44380e4fdea6ddf5c11f48efeb25c2bf181e62</Sha>
64+
<Sha>0326fd7c9e131c4c26bac3c0f72a43ef9fd2812c</Sha>
6565
<SourceBuild RepoName="msbuild" ManagedOnly="true" />
6666
</Dependency>
6767
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.8.300-beta.24161.10">

eng/Versions.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@
120120
</PropertyGroup>
121121
<PropertyGroup>
122122
<!-- Dependencies from https://github.com/Microsoft/msbuild -->
123-
<MicrosoftBuildPackageVersion>17.10.0-preview-24127-03</MicrosoftBuildPackageVersion>
123+
<MicrosoftBuildPackageVersion>17.10.0-preview-24162-02</MicrosoftBuildPackageVersion>
124124
<MicrosoftBuildCurrentPackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildCurrentPackageVersion>
125125
<!-- Some tasks and the resolver will need to run in an MSBuild that is older than the very latest,
126126
so target one that matches the version in minimumMSBuildVersion.
@@ -129,7 +129,7 @@
129129
<MicrosoftBuildPackageVersion Condition="exists('$(RepoRoot)\src\Layout\redist\minimumMSBuildVersion') and '$(DotNetBuildFromSource)' != 'true'">$([System.IO.File]::ReadAllText('$(RepoRoot)\src\Layout\redist\minimumMSBuildVersion').Trim())</MicrosoftBuildPackageVersion>
130130
<MicrosoftBuildFrameworkPackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildFrameworkPackageVersion>
131131
<MicrosoftBuildRuntimePackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildRuntimePackageVersion>
132-
<MicrosoftBuildLocalizationPackageVersion>17.10.0-preview-24127-03</MicrosoftBuildLocalizationPackageVersion>
132+
<MicrosoftBuildLocalizationPackageVersion>17.10.0-preview-24162-02</MicrosoftBuildLocalizationPackageVersion>
133133
<MicrosoftBuildUtilitiesCorePackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildUtilitiesCorePackageVersion>
134134
<MicrosoftBuildTasksCorePackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildTasksCorePackageVersion>
135135
<MicrosoftBuildTasksCoreVersion>$(MicrosoftBuildTasksCorePackageVersion)</MicrosoftBuildTasksCoreVersion>

src/Tests/Microsoft.NET.TestFramework/Commands/GetValuesCommand.cs

Lines changed: 46 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,14 @@ protected override SdkCommandSpec CreateCommand(IEnumerable<string> args)
6060
newArgs.Add($"/p:ValueName={_valueName}");
6161
newArgs.AddRange(args);
6262

63-
// Override build target to write out DefineConstants value to a file in the output directory
6463
Directory.CreateDirectory(GetBaseIntermediateDirectory().FullName);
65-
string injectTargetPath = Path.Combine(
64+
string customAfterDirectoryBuildTargetsPath = Path.Combine(
6665
GetBaseIntermediateDirectory().FullName,
67-
Path.GetFileName(ProjectFile) + ".WriteValuesToFile.g.targets");
66+
"Custom.After.Directory.Build.targets");
67+
68+
var project = XDocument.Load(ProjectFile);
69+
70+
var ns = project.Root.Name.Namespace;
6871

6972
string linesAttribute;
7073
if (_valueType == ValueType.Property)
@@ -80,35 +83,53 @@ protected override SdkCommandSpec CreateCommand(IEnumerable<string> args)
8083
}
8184
}
8285

83-
string propertiesElement = "";
86+
var propertyGroup = project.Root.Elements(ns + "PropertyGroup").FirstOrDefault();
87+
88+
if (propertyGroup == null)
89+
{
90+
propertyGroup = new XElement(ns + "PropertyGroup");
91+
project.Root.AddAfterSelf(propertyGroup);
92+
}
93+
94+
propertyGroup.Add(new XElement(ns + "CustomAfterDirectoryBuildTargets", $"$(CustomAfterDirectoryBuildTargets);{customAfterDirectoryBuildTargetsPath}"));
95+
propertyGroup.Add(new XElement(ns + "CustomAfterMicrosoftCommonCrossTargetingTargets", $"$(CustomAfterMicrosoftCommonCrossTargetingTargets);{customAfterDirectoryBuildTargetsPath}"));
96+
97+
project.Save(ProjectFile);
98+
99+
var customAfterDirectoryBuildTargets = new XDocument(new XElement(ns + "Project"));
100+
101+
var target = new XElement(ns + "Target",
102+
new XAttribute("Name", TargetName),
103+
ShouldCompile ? new XAttribute("DependsOnTargets", DependsOnTargets) : null);
104+
105+
customAfterDirectoryBuildTargets.Root.Add(target);
106+
84107
if (Properties.Count != 0)
85108
{
86-
propertiesElement += "<PropertyGroup>\n";
109+
propertyGroup = new XElement(ns + "PropertyGroup");
110+
customAfterDirectoryBuildTargets.Root.Add(propertyGroup);
111+
87112
foreach (var pair in Properties)
88113
{
89-
propertiesElement += $" <{pair.Key}>{pair.Value}</{pair.Key}>\n";
114+
propertyGroup.Add(new XElement(ns + pair.Key, pair.Value));
90115
}
91-
propertiesElement += " </PropertyGroup>";
92116
}
93117

94-
string injectTargetContents =
95-
$@"<Project ToolsVersion=`14.0` xmlns=`http://schemas.microsoft.com/developer/msbuild/2003`>
96-
{propertiesElement}
97-
<Target Name=`{TargetName}` {(ShouldCompile ? $"DependsOnTargets=`{DependsOnTargets}`" : "")}>
98-
<ItemGroup>
99-
<LinesToWrite Include=`{linesAttribute}`/>
100-
</ItemGroup>
101-
<WriteLinesToFile
102-
File=`bin\$(Configuration)\$(TargetFramework)\{_valueName}Values.txt`
103-
Lines=`@(LinesToWrite)`
104-
Overwrite=`true`
105-
Encoding=`Unicode`
106-
/>
107-
</Target>
108-
</Project>";
109-
injectTargetContents = injectTargetContents.Replace('`', '"');
110-
111-
File.WriteAllText(injectTargetPath, injectTargetContents);
118+
var itemGroup = new XElement(ns + "ItemGroup");
119+
target.Add(itemGroup);
120+
121+
itemGroup.Add(
122+
new XElement(ns + "LinesToWrite",
123+
new XAttribute("Include", linesAttribute)));
124+
125+
target.Add(
126+
new XElement(ns + "WriteLinesToFile",
127+
new XAttribute("File", $@"bin\$(Configuration)\$(TargetFramework)\{_valueName}Values.txt"),
128+
new XAttribute("Lines", "@(LinesToWrite)"),
129+
new XAttribute("Overwrite", bool.TrueString),
130+
new XAttribute("Encoding", "Unicode")));
131+
132+
customAfterDirectoryBuildTargets.Save(customAfterDirectoryBuildTargetsPath);
112133

113134
var outputDirectory = GetValuesOutputDirectory(_targetFramework);
114135
outputDirectory.Create();

src/Tests/Microsoft.NET.TestFramework/ProjectConstruction/TestProject.cs

Lines changed: 36 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,42 @@ internal void Create(TestAsset targetTestAsset, string testProjectsSourceFolder,
352352
projectChange(projectXml);
353353
}
354354

355+
if (PropertiesToRecord.Any())
356+
{
357+
var customAfterDirectoryBuildTargetsPath = new FileInfo(Path.Combine(targetFolder, "obj", "Custom.After.Directory.Build.targets"));
358+
customAfterDirectoryBuildTargetsPath.Directory.Create();
359+
360+
propertyGroup.Add(new XElement(ns + "CustomAfterDirectoryBuildTargets", $"$(CustomAfterDirectoryBuildTargets);{customAfterDirectoryBuildTargetsPath.FullName}"));
361+
propertyGroup.Add(new XElement(ns + "CustomAfterMicrosoftCommonCrossTargetingTargets", $"$(CustomAfterMicrosoftCommonCrossTargetingTargets);{customAfterDirectoryBuildTargetsPath.FullName}"));
362+
363+
var customAfterDirectoryBuildTargets = new XDocument(new XElement(ns + "Project"));
364+
365+
var target = new XElement(ns + "Target",
366+
new XAttribute("Name", "WritePropertyValues"),
367+
new XAttribute("BeforeTargets", "AfterBuild"));
368+
369+
customAfterDirectoryBuildTargets.Root.Add(target);
370+
371+
var itemGroup = new XElement(ns + "ItemGroup");
372+
target.Add(itemGroup);
373+
374+
foreach (var propertyName in PropertiesToRecord)
375+
{
376+
itemGroup.Add(
377+
new XElement(ns + "LinesToWrite",
378+
new XAttribute("Include", $"{propertyName}: $({propertyName})")));
379+
}
380+
381+
target.Add(
382+
new XElement(ns + "WriteLinesToFile",
383+
new XAttribute("File", $@"$(BaseIntermediateOutputPath)\$(Configuration)\$(TargetFramework)\PropertyValues.txt"),
384+
new XAttribute("Lines", "@(LinesToWrite)"),
385+
new XAttribute("Overwrite", bool.TrueString),
386+
new XAttribute("Encoding", "Unicode")));
387+
388+
customAfterDirectoryBuildTargets.Save(customAfterDirectoryBuildTargetsPath.FullName);
389+
}
390+
355391
using (var file = File.CreateText(targetProjectPath))
356392
{
357393
projectXml.Save(file);
@@ -429,41 +465,6 @@ public class {safeThisName}Class
429465
{
430466
File.WriteAllText(Path.Combine(targetFolder, kvp.Key), kvp.Value);
431467
}
432-
433-
if (PropertiesToRecord.Any())
434-
{
435-
string propertiesElements = "";
436-
foreach (var propertyName in PropertiesToRecord)
437-
{
438-
propertiesElements += $" <LinesToWrite Include=`{propertyName}: $({propertyName})`/>" + Environment.NewLine;
439-
}
440-
441-
string injectTargetContents =
442-
$@"<Project>
443-
<Target Name=`WritePropertyValues` BeforeTargets=`AfterBuild`>
444-
<ItemGroup>
445-
{propertiesElements}
446-
</ItemGroup>
447-
<WriteLinesToFile
448-
File=`$(BaseIntermediateOutputPath)\$(Configuration)\$(TargetFramework)\PropertyValues.txt`
449-
Lines=`@(LinesToWrite)`
450-
Overwrite=`true`
451-
Encoding=`Unicode`
452-
/>
453-
</Target>
454-
</Project>";
455-
456-
injectTargetContents = injectTargetContents.Replace('`', '"');
457-
458-
string targetPath = Path.Combine(targetFolder, "obj", Name + ".csproj.WriteValuesToFile.g.targets");
459-
460-
if (!Directory.Exists(Path.GetDirectoryName(targetPath)))
461-
{
462-
Directory.CreateDirectory(Path.GetDirectoryName(targetPath));
463-
}
464-
465-
File.WriteAllText(targetPath, injectTargetContents);
466-
}
467468
}
468469

469470
public void AddItem(string itemName, string attributeName, string attributeValue)

0 commit comments

Comments
 (0)