Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use generated runtime.json when building shared framework packages. #76068

Merged
merged 6 commits into from
Sep 27, 2022
Merged
Show file tree
Hide file tree
Changes from 3 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
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@
<PackageProjectUrl>https://dot.net</PackageProjectUrl>
<Owners>microsoft,dotnetframework</Owners>
<IncludeSymbols>true</IncludeSymbols>
<RuntimeIdGraphDefinitionFile>$([MSBuild]::NormalizePath('$(LibrariesProjectRoot)', 'Microsoft.NETCore.Platforms', 'src', 'runtime.json'))</RuntimeIdGraphDefinitionFile>
<GeneratedRuntimeIdentifierGraphFile>$([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'Microsoft.NETCore.Platforms', 'runtime.json'))</GeneratedRuntimeIdentifierGraphFile>
tmds marked this conversation as resolved.
Show resolved Hide resolved
<LicenseFile>$(MSBuildThisFileDirectory)LICENSE.TXT</LicenseFile>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
Expand Down
3 changes: 2 additions & 1 deletion eng/liveBuilds.targets
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@
ResolveLibrariesRuntimeFilesFromLocalBuild" />

<PropertyGroup>
<BundledRuntimeIdentifierGraphFile>$(RuntimeIdGraphDefinitionFile)</BundledRuntimeIdentifierGraphFile>
<BundledRuntimeIdentifierGraphFile>$([MSBuild]::NormalizePath('$(LibrariesProjectRoot)', 'Microsoft.NETCore.Platforms', 'src', 'runtime.json'))</BundledRuntimeIdentifierGraphFile>
<BundledRuntimeIdentifierGraphFile Condition="Exists('$(GeneratedRuntimeIdentifierGraphFile)')">$(GeneratedRuntimeIdentifierGraphFile)</BundledRuntimeIdentifierGraphFile>
</PropertyGroup>
tmds marked this conversation as resolved.
Show resolved Hide resolved
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
<AssemblyName>Microsoft.NETCore.Platforms.BuildTasks</AssemblyName>
<IncludeBuildOutput>false</IncludeBuildOutput>
<IncludeSymbols>false</IncludeSymbols>
<!-- Generate a package only during the allconfigurations leg to avoid package clashes during publish. -->
<GeneratePackageOnBuild Condition="'$(BuildAllConfigurations)' != 'true'">false</GeneratePackageOnBuild>
tmds marked this conversation as resolved.
Show resolved Hide resolved

<IsPackable>true</IsPackable>
<PackageId>$(MSBuildProjectName)</PackageId>
Expand All @@ -17,7 +19,6 @@
<AvoidRestoreCycleOnSelfReference>true</AvoidRestoreCycleOnSelfReference>
<!-- TODO: Remove with AvoidRestoreCycleOnSelfReference hack. -->
<PackageValidationBaselineName>$(MSBuildProjectName)</PackageValidationBaselineName>
<BeforePack>GenerateRuntimeJson;UpdateRuntimeJson;$(BeforePack)</BeforePack>

<_generateRuntimeGraphTargetFramework Condition="'$(MSBuildRuntimeType)' == 'core'">$(NetCoreAppToolCurrent)</_generateRuntimeGraphTargetFramework>
<_generateRuntimeGraphTargetFramework Condition="'$(MSBuildRuntimeType)' != 'core'">net472</_generateRuntimeGraphTargetFramework>
Expand All @@ -43,8 +44,7 @@
</ItemGroup>

<ItemGroup>
<Content Condition="'$(AdditionalRuntimeIdentifiers)' == ''" Include="runtime.json" PackagePath="/" />
<Content Condition="'$(AdditionalRuntimeIdentifiers)' != ''" Include="$(IntermediateOutputPath)runtime.json" PackagePath="/" />
<Content Include="$(GeneratedRuntimeIdentifierGraphFile)" PackagePath="/" />
<Content Include="$(PlaceholderFile)" PackagePath="lib/netstandard1.0" />
</ItemGroup>

Expand All @@ -58,13 +58,17 @@

<UsingTask TaskName="GenerateRuntimeGraph" AssemblyFile="$(_generateRuntimeGraphTask)"/>

<Target Name="GenerateRuntimeJson" Condition="'$(AdditionalRuntimeIdentifiers)' != ''">
<Target Name="GenerateRuntimeJson" AfterTargets="Build">
<MakeDir Directories="$(IntermediateOutputPath)" />
<GenerateRuntimeGraph RuntimeGroups="@(RuntimeGroupWithQualifiers)"
<GenerateRuntimeGraph Condition="'$(AdditionalRuntimeIdentifiers)' != ''"
RuntimeGroups="@(RuntimeGroupWithQualifiers)"
AdditionalRuntimeIdentifiers="$(AdditionalRuntimeIdentifiers)"
AdditionalRuntimeIdentifierParent="$(AdditionalRuntimeIdentifierParent)"
RuntimeJson="$(IntermediateOutputPath)runtime.json"
RuntimeJson="$(GeneratedRuntimeIdentifierGraphFile)"
tmds marked this conversation as resolved.
Show resolved Hide resolved
UpdateRuntimeFiles="True" />
<Copy Condition="'$(AdditionalRuntimeIdentifiers)' == ''"
SourceFiles="runtime.json"
DestinationFiles="$(GeneratedRuntimeIdentifierGraphFile)" />
tmds marked this conversation as resolved.
Show resolved Hide resolved
</Target>

<Target Name="UpdateRuntimeJson">
Expand Down
3 changes: 1 addition & 2 deletions src/libraries/oob-all.proj
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
<!-- Build these packages in the allconfigurations leg only. -->
<ProjectReference Remove="Microsoft.Internal.Runtime.AspNetCore.Transport\src\Microsoft.Internal.Runtime.AspNetCore.Transport.proj;
Microsoft.Internal.Runtime.WindowsDesktop.Transport\src\Microsoft.Internal.Runtime.WindowsDesktop.Transport.proj;
Microsoft.Windows.Compatibility\src\Microsoft.Windows.Compatibility.csproj;
Microsoft.NETCore.Platforms\src\Microsoft.NETCore.Platforms.csproj"
Microsoft.Windows.Compatibility\src\Microsoft.Windows.Compatibility.csproj"
Condition="'$(BuildAllConfigurations)' != 'true'" />

<!-- Skip these projects during source-build as they rely on external prebuilts. -->
Expand Down
3 changes: 1 addition & 2 deletions src/libraries/oob-src.proj
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@
('$(BuildAllConfigurations)' != 'true' and '$(RuntimeFlavor)' == '$(PrimaryRuntimeFlavor)')" />

<!-- Don't build task and tools project in the NetCoreAppCurrent vertical. -->
<ProjectReference Remove="Microsoft.NETCore.Platforms\src\Microsoft.NETCore.Platforms.csproj;
Microsoft.XmlSerializer.Generator\src\Microsoft.XmlSerializer.Generator.csproj" />
<ProjectReference Remove="Microsoft.XmlSerializer.Generator\src\Microsoft.XmlSerializer.Generator.csproj" />
tmds marked this conversation as resolved.
Show resolved Hide resolved

<!-- Don't build meta-projects in the NetCoreAppCurrent vertical. -->
<ProjectReference Remove="Microsoft.Internal.Runtime.AspNetCore.Transport\src\Microsoft.Internal.Runtime.AspNetCore.Transport.proj;
Expand Down
2 changes: 1 addition & 1 deletion src/libraries/pretest.proj
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
Condition="'$(BuildTargetFramework)' == '$(NetCoreAppCurrent)' or '$(BuildTargetFramework)' == ''">
<!-- Shared framework deps file generation. Produces a test shared-framework deps file. -->
<GenerateTestSharedFrameworkDepsFile SharedFrameworkDirectory="$(NetCoreAppCurrentTestHostSharedFrameworkPath)"
RuntimeGraphFiles="$(RuntimeIdGraphDefinitionFile)"
RuntimeGraphFiles="$(BundledRuntimeIdentifierGraphFile)"
TargetRuntimeIdentifier="$(PackageRID)" />
</Target>

Expand Down