Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViktor Hofer <viktor.hofer@microsoft.com>2022-01-18 18:07:01 +0300
committerViktor Hofer <viktor.hofer@microsoft.com>2022-02-24 14:32:04 +0300
commit9ebe0efa4850fb2e451befe1fdf7c2d3cbb5c862 (patch)
treeb89ad195ff24e3ddf4d092b3953731de4d55ace5 /eng/Subsets.props
parentfbf95fde7c4a23571dab5586b649729ff454000f (diff)
sfx+oob split, shim project refactoring, P2Ps
Split the build of shared framework and out-of-band projects so that it's possible to just build the shard framework projects, which was requested by the CLR teams. In the next infrastructure rollout, the current "libs.ref+libs.src" subsets should be removed. Generate the targeting pack with an incomplete (without shims) frameworklist as part of the "libs.sfx" subset. Build the shim projects after the shared framework and oob projects and re-generate the targeting pack's frameworklist to include the shims. Refactor the shims so that they aren't grouped anymore by generated & manual. Instead group them by "ref" and "src" same as other libraries in the tree which allows to reference the source project shims and read from the ReferenceAssembly metadata. Use ProjectReferences in traversal projects and shim projects instead of named references that point to binplace directories (see graph below) This allows to build parts of the product dynamically, i.e. the shim projects, apicompat.proj, sfx.proj and oob.proj.
Diffstat (limited to 'eng/Subsets.props')
-rw-r--r--eng/Subsets.props24
1 files changed, 17 insertions, 7 deletions
diff --git a/eng/Subsets.props b/eng/Subsets.props
index 809af20968e..1213b5407e9 100644
--- a/eng/Subsets.props
+++ b/eng/Subsets.props
@@ -71,7 +71,7 @@
<DefaultLibrariesSubsets Condition="'$(BuildTargetFramework)' == '$(NetCoreAppCurrent)' or
'$(BuildTargetFramework)' == '' or
'$(BuildAllConfigurations)' == 'true'">libs.native+</DefaultLibrariesSubsets>
- <DefaultLibrariesSubsets>$(DefaultLibrariesSubsets)libs.ref+libs.src</DefaultLibrariesSubsets>
+ <DefaultLibrariesSubsets>$(DefaultLibrariesSubsets)libs.sfx+libs.oob</DefaultLibrariesSubsets>
<DefaultLibrariesSubsets Condition="'$(DotNetBuildFromSource)' != 'true'">$(DefaultLibrariesSubsets)+libs.pretest</DefaultLibrariesSubsets>
<DefaultHostSubsets>host.native+host.tools</DefaultHostSubsets>
@@ -144,8 +144,10 @@
<!-- Libs -->
<SubsetName Include="Libs" Description="The libraries native part, refs and source assemblies, test infra and packages, but NOT the tests (use Libs.Tests to request those explicitly). Equivalent to: $(DefaultLibrariesSubsets)" />
<SubsetName Include="Libs.Native" Description="The native libraries used in the shared framework." />
- <SubsetName Include="Libs.Ref" Description="The managed reference libraries." />
- <SubsetName Include="Libs.Src" Description="The managed implementation libraries." />
+ <SubsetName Include="Libs.Sfx" Description="The managed shared framework libraries." />
+ <SubsetName Include="Libs.Oob" Description="The managed out-of-band libraries." />
+ <SubsetName Include="Libs.Ref" OnDemand="true" Description="The managed reference libraries." />
+ <SubsetName Include="Libs.Src" OnDemand="true" Description="The managed implementation libraries." />
<SubsetName Include="Libs.PreTest" Description="Test assets which are necessary to run tests." />
<SubsetName Include="Libs.Packages" Description="The projects that produce NuGet packages from libraries." />
<SubsetName Include="Libs.Tests" OnDemand="true" Description="The test projects. Note that building this doesn't execute tests: you must also pass the '-test' argument." />
@@ -322,12 +324,20 @@
<ProjectToBuild Include="$(SharedNativeRoot)libs\build-native.proj" Category="libs" />
</ItemGroup>
- <ItemGroup Condition="$(_subset.Contains('+libs.ref+'))">
- <ProjectToBuild Include="$(LibrariesProjectRoot)ref.proj" Category="libs" />
+ <ItemGroup Condition="$(_subset.Contains('+libs.ref+')) or $(_subset.Contains('+libs.src+')) or $(_subset.Contains('+libs.sfx+'))">
+ <ProjectToBuild Include="$(LibrariesProjectRoot)sfx.proj"
+ Category="libs"
+ Condition="'$(BuildTargetFramework)' == '$(NetCoreAppCurrent)' or
+ '$(BuildTargetFramework)' == '' or
+ '$(BuildAllConfigurations)' == 'true'">
+ <AdditionalProperties Condition="$(_subset.Contains('+libs.ref+'))">%(AdditionalProperties);RefOnly=true</AdditionalProperties>
+ </ProjectToBuild>
</ItemGroup>
- <ItemGroup Condition="$(_subset.Contains('+libs.src+'))">
- <ProjectToBuild Include="$(LibrariesProjectRoot)src.proj" Category="libs" />
+ <ItemGroup Condition="$(_subset.Contains('+libs.ref+')) or $(_subset.Contains('+libs.src+')) or $(_subset.Contains('+libs.oob+'))">
+ <ProjectToBuild Include="$(LibrariesProjectRoot)oob.proj" Category="libs">
+ <AdditionalProperties Condition="$(_subset.Contains('+libs.ref+'))">%(AdditionalProperties);RefOnly=true</AdditionalProperties>
+ </ProjectToBuild>
</ItemGroup>
<ItemGroup Condition="$(_subset.Contains('+mono.wasmruntime+'))">