-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Move MSBuild projects out of the native build scripts #31701
Changes from all commits
1415bde
f5657c8
2d47605
318989c
1841ceb
56c0f45
328bdab
0cd1ce3
620718d
b83f3c3
8c21050
d4da3d6
0c17b77
c65fc60
f724a03
430db11
6799479
11371de
f19e0e4
8e36e86
37ea4fa
03f8275
2d119c7
447accf
13a80ad
51e0f1c
e652d87
911c736
f8b0b2b
a52c8c8
e228b91
ebd026d
293f46a
6cdc3f1
d0d937c
57fc394
465e572
04dc07f
51a3fa8
2da7fa2
f757242
2471de8
0e2a192
81e2176
16915b5
d1f8d0f
920b521
f2a6046
c61e6e7
2844721
1ffe902
3fb6ae6
83dce9d
80ea3d9
9a0f0be
cf1afb6
9c2c428
6e58e89
b8d82c0
591b012
2ddc248
0d48035
12ba97b
7e5bf10
b9335e8
9f0f4d7
cc6ddce
e890a9e
6184bda
4e7714d
8819069
f0a9d2a
1da936d
711e38d
a6b4ac4
8b7982d
6f6ec99
ba67a5a
330a860
e3ba26d
87e3d0a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -61,16 +61,19 @@ | |
<DefaultInstallerSubsets>corehost-managed-depproj-pkgproj-bundle-installers-test</DefaultInstallerSubsets> | ||
<!-- TODO: Split into multiple sets. --> | ||
<DefaultLibrariesSubsets>all</DefaultLibrariesSubsets> | ||
<DefaultCoreClrSubsets>all</DefaultCoreClrSubsets> | ||
<DefaultCoreClrSubsets>runtime-linuxdac-corelib-nativecorelib-tools-packages</DefaultCoreClrSubsets> | ||
<DefaultMonoSubsets>all</DefaultMonoSubsets> | ||
|
||
<_subsetCategory Condition="'$(SubsetCategory)' != ''">$(SubsetCategory.ToLowerInvariant())</_subsetCategory> | ||
<_subsetCategory Condition="'$(SubsetCategory)' == ''">$(DefaultSubsetCategories)</_subsetCategory> | ||
<_subset Condition="'$(Subset)' != ''">$(Subset.ToLowerInvariant())</_subset> | ||
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('installer'))">$(DefaultInstallerSubsets)</_subset> | ||
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('libraries'))">$(_subset)$(DefaultLibrariesSubsets)</_subset> | ||
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('coreclr'))">$(_subset)$(DefaultCoreClrSubsets)</_subset> | ||
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('mono'))">$(_subset)$(DefaultMonoSubsets)</_subset> | ||
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('libraries'))">$(_subset)-$(DefaultLibrariesSubsets)</_subset> | ||
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('coreclr'))">$(_subset)-$(DefaultCoreClrSubsets)</_subset> | ||
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('mono'))">$(_subset)-$(DefaultMonoSubsets)</_subset> | ||
|
||
<!-- Surround _subset in dashes to simplify checks below --> | ||
<_subset>-$(_subset)-</_subset> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
|
@@ -81,7 +84,13 @@ | |
<SubsetName Include="All" Category="Libraries" Description="The .NET libraries comprising the shared framework." /> | ||
|
||
<!-- CoreClr --> | ||
<SubsetName Include="All" Category="CoreClr" Description="The .NET runtime." /> | ||
<SubsetName Include="Runtime" Category="CoreClr" Description="The CoreCLR .NET runtime." /> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why does Runtime mean CoreCLR instead of say Mono? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is the Runtime subset within the CoreCLR subset category. Mono could change their build to have a Runtime subset and then running |
||
<SubsetName Condition="$([MSBuild]::IsOsPlatform(Windows))" Include="LinuxDac" Category="CoreClr" Description="The cross-OS Windows->libc-based Linux DAC. Skipped on x86." /> | ||
<SubsetName Condition="$([MSBuild]::IsOsPlatform(Windows))" Include="AlpineDac" Category="CoreClr" OnDemand="true" Description="The cross-OS Windows->musl-libc-based Linux DAC. Skipped on x86." /> | ||
<SubsetName Include="CoreLib" Category="CoreClr" Description="The managed System.Private.CoreLib library for CoreCLR." /> | ||
<SubsetName Include="NativeCoreLib" Category="CoreClr" Description="Run crossgen on System.Private.CoreLib library for CoreCLR." /> | ||
jkoritzinsky marked this conversation as resolved.
Show resolved
Hide resolved
|
||
<SubsetName Include="Tools" Category="CoreClr" Description="Managed tools that support CoreCLR development and testing." /> | ||
<SubsetName Include="Packages" Category="CoreClr" Description="The projects that produce NuGet packages for the CoreCLR runtime, crossgen, and IL tools." /> | ||
|
||
<!-- Mono --> | ||
<SubsetName Include="All" Category="Mono" Description="The Mono .NET runtime." /> | ||
|
@@ -98,14 +107,26 @@ | |
</ItemGroup> | ||
|
||
<!-- Global sets --> | ||
<ItemGroup Condition="$(_subset.Contains('regeneratereadmetable'))"> | ||
<ItemGroup Condition="$(_subset.Contains('-regeneratereadmetable-'))"> | ||
<ProjectToBuild Include="$(RepoToolsLocalDir)regenerate-readme-table.proj" /> | ||
</ItemGroup> | ||
|
||
<ItemDefinitionGroup Condition="'$(CoreCLRConfiguration)' != ''"> | ||
<CoreClrProjectToBuild> | ||
<AdditionalProperties>Configuration=$(CoreCLRConfiguration)</AdditionalProperties> | ||
</CoreClrProjectToBuild> | ||
<CoreClrCoreLibProjectToBuild> | ||
<AdditionalProperties>Configuration=$(CoreCLRConfiguration)</AdditionalProperties> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why are we using There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is done to match the above lines for |
||
</CoreClrCoreLibProjectToBuild> | ||
<CoreClrNativeCoreLibProjectToBuild> | ||
<AdditionalProperties>Configuration=$(CoreCLRConfiguration)</AdditionalProperties> | ||
</CoreClrNativeCoreLibProjectToBuild> | ||
<CoreClrManagedToolsProjectToBuild> | ||
<AdditionalProperties>Configuration=$(CoreCLRConfiguration)</AdditionalProperties> | ||
</CoreClrManagedToolsProjectToBuild> | ||
<CoreClrPackagesProjectToBuild> | ||
<AdditionalProperties>Configuration=$(CoreCLRConfiguration)</AdditionalProperties> | ||
</CoreClrPackagesProjectToBuild> | ||
</ItemDefinitionGroup> | ||
|
||
<ItemDefinitionGroup Condition="'$(MonoConfiguration)' != ''"> | ||
|
@@ -121,58 +142,90 @@ | |
</ItemDefinitionGroup> | ||
|
||
<!-- CoreClr sets --> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('coreclr')) and $(_subset.Contains('all'))"> | ||
<CoreClrProjectToBuild Include="$(CoreClrProjectRoot)coreclr.proj" BuildInParallel="false" /> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('coreclr')) and $(_subset.Contains('-corelib-'))"> | ||
<CoreClrCoreLibProjectToBuild Include="$(CoreClrProjectRoot)src\System.Private.CoreLib\System.Private.CoreLib.csproj" BuildInParallel="false" /> | ||
<ProjectToBuild Include="@(CoreClrCoreLibProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('coreclr')) and $(_subset.Contains('-runtime-'))"> | ||
<CoreClrProjectToBuild Include="$(CoreClrProjectRoot)runtime.proj" BuildInParallel="false" /> | ||
<ProjectToBuild Include="@(CoreClrProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('coreclr')) and $(_subset.Contains('-linuxdac-')) and $([MSBuild]::IsOsPlatform(Windows)) and '$(TargetArchitecture)' != 'x86'"> | ||
<CoreClrLinuxDacProjectToBuild Include="$(CoreClrProjectRoot)runtime.proj" BuildInParallel="false" AdditionalProperties="%(AdditionalProperties);CrossDac=linux" /> | ||
<ProjectToBuild Include="@(CoreClrLinuxDacProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('coreclr')) and $(_subset.Contains('-alpinedac-')) and $([MSBuild]::IsOsPlatform(Windows)) and '$(TargetArchitecture)' != 'x86'"> | ||
<CoreClrAlpineLinuxDacProjectToBuild Include="$(CoreClrProjectRoot)runtime.proj" BuildInParallel="false" AdditionalProperties="%(AdditionalProperties);CrossDac=alpine" /> | ||
<ProjectToBuild Include="@(CoreClrAlpineLinuxDacProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('coreclr')) and $(_subset.Contains('-nativecorelib-'))"> | ||
<CoreClrNativeCoreLibProjectToBuild Include="$(CoreClrProjectRoot)crossgen-corelib.proj" BuildInParallel="false" /> | ||
<ProjectToBuild Include="@(CoreClrNativeCoreLibProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('coreclr')) and $(_subset.Contains('-tools-'))"> | ||
<CoreClrManagedToolsProjectToBuild Include="$(CoreClrProjectRoot)src\tools\runincontext\runincontext.csproj" /> | ||
<CoreClrManagedToolsProjectToBuild Include="$(CoreClrProjectRoot)src\tools\r2rdump\R2RDump.csproj" /> | ||
<CoreClrManagedToolsProjectToBuild Include="$(CoreClrProjectRoot)src\tools\ReadyToRun.SuperIlc\ReadyToRun.SuperIlc.csproj" /> | ||
<CoreClrManagedToolsProjectToBuild Include="$(CoreClrProjectRoot)src\tools\crossgen2\crossgen2\crossgen2.csproj" BuildInParallel="false" /> | ||
<ProjectToBuild Include="@(CoreClrManagedToolsProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('coreclr')) and $(_subset.Contains('-packages-'))"> | ||
<CoreClrPackagesProjectToBuild Include="$(CoreClrProjectRoot)src\.nuget\packages.builds" BuildInParallel="false" /> | ||
<ProjectToBuild Include="@(CoreClrPackagesProjectToBuild)" /> | ||
</ItemGroup> | ||
<!-- Mono sets --> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('mono')) and $(_subset.Contains('all'))"> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('mono')) and $(_subset.Contains('-all-'))"> | ||
<MonoProjectToBuild Include="$(MonoProjectRoot)mono.proj" BuildInParallel="false" /> | ||
<MonoProjectToBuild Include="$(MonoProjectRoot)netcore\System.Private.CoreLib\System.Private.CoreLib.csproj" BuildInParallel="false" /> | ||
<ProjectToBuild Include="@(MonoProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<!-- Libraries sets --> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('libraries')) and $(_subset.Contains('all'))"> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('libraries')) and $(_subset.Contains('-all-'))"> | ||
<LibrariesProjectToBuild Include="$(LibrariesProjectRoot)build.proj" BuildInParallel="false" /> | ||
<ProjectToBuild Include="@(LibrariesProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<!-- Installer sets --> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('corehost'))"> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('-corehost-'))"> | ||
<CorehostProjectToBuild Include="$(InstallerProjectRoot)corehost\build.proj" SignPhase="Binaries" /> | ||
<ProjectToBuild Include="@(CorehostProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('managed'))"> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('-managed-'))"> | ||
<ManagedProjectToBuild Include="$(InstallerProjectRoot)managed\**\*.csproj" SignPhase="Binaries" /> | ||
<ManagedProjectToBuild Include="$(InstallerProjectRoot)pkg\packaging\pack-managed.proj" /> | ||
<ProjectToBuild Include="@(ManagedProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('depproj'))"> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('-depproj-'))"> | ||
<DepprojProjectToBuild Include="$(InstallerProjectRoot)pkg\projects\**\*.depproj" SignPhase="R2RBinaries" BuildInParallel="false" /> | ||
<ProjectToBuild Include="@(DepprojProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('pkgproj'))"> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('-pkgproj-'))"> | ||
<PkgprojProjectToBuild Include="$(InstallerProjectRoot)pkg\projects\**\*.pkgproj" SignPhase="MsiFiles" BuildInParallel="false" /> | ||
<ProjectToBuild Include="@(PkgprojProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('bundle'))"> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('-bundle-'))"> | ||
<BundleProjectToBuild Include="$(InstallerProjectRoot)pkg\projects\**\*.bundleproj" SignPhase="BundleInstallerFiles" BuildInParallel="false" /> | ||
<ProjectToBuild Include="@(BundleProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('installers'))"> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('-installers-'))"> | ||
<InstallerProjectToBuild Include="$(InstallerProjectRoot)pkg\packaging\installers.proj" BuildInParallel="false" /> | ||
<InstallerProjectToBuild Include="$(InstallerProjectRoot)pkg\packaging\vs-insertion-packages.proj" BuildInParallel="false" /> | ||
<ProjectToBuild Include="@(InstallerProjectToBuild)" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('test'))"> | ||
<ItemGroup Condition="$(_subsetCategory.Contains('installer')) and $(_subset.Contains('-test-'))"> | ||
<TestProjectToBuild Include="$(InstallerProjectRoot)test\Microsoft.NET.HostModel.Tests\AppHost.Bundle.Tests\AppHost.Bundle.Tests.csproj" /> | ||
<TestProjectToBuild Include="$(InstallerProjectRoot)test\Microsoft.NET.HostModel.Tests\Microsoft.NET.HostModel.AppHost.Tests\Microsoft.NET.HostModel.AppHost.Tests.csproj" /> | ||
<TestProjectToBuild Include="$(InstallerProjectRoot)test\Microsoft.NET.HostModel.Tests\Microsoft.NET.HostModel.Bundle.Tests\Microsoft.NET.HostModel.Bundle.Tests.csproj" /> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does the mono default include coreclr but not the other way around?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mono's default doesn't include CoreCLR. Mono's default includes the "all" subset in the Mono subset category. Same way that Libraries' default includes the "all" subset in the Libraries subset category.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems confusing to name it "all" then not have all the items in it. Is there some subtle, or less subtle, context I'm missing here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The “all” refers to “all projects that are in this subset category” not “all projects in dotnet/runtime”.