diff options
author | Jeremy Koritzinsky <jekoritz@microsoft.com> | 2020-03-04 05:19:03 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-04 05:19:03 +0300 |
commit | 389835b1597180c0753c4daeb88afe008252dfe4 (patch) | |
tree | dc88e55f65f101496f84fd0b0030e43caca5d352 /src/coreclr/runtime.proj | |
parent | e66e9faceb57e2726857b151c78af7d71af78a4f (diff) |
Move MSBuild projects out of the native build scripts (#31701)
* Move coreclr managed tools that don't need to be published and System.Private.CoreLib into their own subsets in Subsets.props and drive their builds via Arcade instead of the coreclr scripts.
* Remove building System.Private.CoreLib from build scripts. Eventing sources TBD.
* Build packages via an Arcade subset instead of within build.cmd/build.sh
* Remove packages and test build from build.cmd. Clean up options on build.cmd and build.sh
* Generate eventing sources for System.Private.CoreLib within MSBuild instead of in the build.cmd/sh scripts. Clean up the build.sh usage documentation (lots of copy-paste errors).
* Remove check-definitions.py script and supporting goo.
* Fix eventing generation.
* Wire up TargetArchitecture and OSGroup to coreclr's BuildArch and BuildOS to enable building System.Private.CoreLib for the correct output given the script parameters.
* Stop passing down now non-existent skiptests parameter.
* Fix coreclr .nuget rid parsing to account for linux-musl correctly.
* Update build scripts to use Arcade to build packages.
* Convert from Properties to AdditionalProperties.
* Build crossgen as part of Arcade (self-contained publish TBD).
* Pull down .NET runtime CLI for helix runs with crossgen2.
* Output crossgen2 to the BinDir/crossgen when built from the project file. Enable the test shell scripts to either resolve the dotnet CLI from the path or from relative to Core_Root if the __DotNet variable is undefined.
* Generate distro rid during windows build.
* Various fixes to get files binplaced correctly and builds to work on Linux.
* Fix search for dotnet in repo on bash.
* Remove __BuildTest variable and fix up the script.
* Fix steps in build-job to build S.P.CL before the runtime and build managed tools after the runtime.
* Fix casing typo.
* Refactor detecting system OS and Architecture.
* Fix wasm rid calculation.
* Run crossgen2 on corerun so we run it on the runtime we're going to ship it with.
* Assemble a live self-contained publish in the crossgen2 package.
* Fix init-os-and-arch resolution.
* Ensure that the runtime files we package in crossgen2 are the crossgened ones.
* Remove extraneous /bl
* Build R2RDump to a subfolder instead of the product dir.
* Seperate out the crosssgening corelib step into a separate script.
* Fix permissions on crossgen-corelib.sh
* Rename build.cmd/sh to build-runtime.cmd/sh
* Fix parameters in crossgen2determinism test.
* Run crossgen on System.Private.CoreLib in CI.
* Restore original build.cmd/sh scripts with a deprecation warning and update instructions.
* Initialize developer prompt in crossgen-corelib.cmd script so we can find DIA on CI machines.
* Make sure vs tools are enabled so we can resolve DiaSymReader.
* Call build-native instead of build.
* Fix build-native -> build-runtime.
* Fix permissions.
* Remove dead MSBuild code.
* Factor out python locating targets to make them available to the whole repo.
* PR Feedback/simplification.
* Create a self-contained deps.json for crossgen2 and add it to the package.
* Pass runtimeconfiguration as configuration for crossgen2 deps file generation.
* Try specifying rids directly in crossgen2 project to get the restore correct for the live-build pipeline.
* Run crossgen2 via corerun in R2R.SuperILC.
* Add binlogs to build-runtime.cmd
* Combine non build-runtime steps into a single step so we get one binlog that doesn't get overwritten.
* Add reference to issue describing new workflow.
* Quote python path
* Set arch default.
* PR Feedback and clean up crossgen-corelib's argument list.
* Fix subset name matching to work when one subset name is a substring of another.
* Pass the official build id as an msbuild arg at all times.
Additional cleanup for crossgen-corelib step.
* PR Feedback.
* Fix default subset list construction.
* Add deprecation warnings at beginning and end of build.cmd and build.sh.
* Setup dirs in crossgen-corelib.sh
* Move enforcepgo argument to before the official build arg so that it gets consumed correctly.
* Add cross-os DAC builds as subsets.
Clean up build-runtime parameters and passing the official build ID from runtime.proj.
* Update script usage docs.
* Skip the cross-os dac on x86.
* Build windows->linux cross dac on PR and CI.
* Don't build the cross-OS linux dac on Windows x86.
Diffstat (limited to 'src/coreclr/runtime.proj')
-rw-r--r-- | src/coreclr/runtime.proj | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/coreclr/runtime.proj b/src/coreclr/runtime.proj new file mode 100644 index 00000000000..e36aea3ea2f --- /dev/null +++ b/src/coreclr/runtime.proj @@ -0,0 +1,31 @@ +<Project> + <Import Project="Directory.Build.props" /> + <Import Project="Directory.Build.targets" /> + + <Target Name="Build"> + <ItemGroup> + <_CoreClrBuildArg Condition="'$(TargetArchitecture)' != ''" Include="-$(TargetArchitecture)" /> + <_CoreClrBuildArg Include="$(CMakeArgs)" /> + <_CoreClrBuildArg Include="-$(Configuration.ToLower())" /> + <_CoreClrBuildArg Include="$(Compiler)" /> + <_CoreClrBuildArg Condition="'$(ContinuousIntegrationBuild)' == 'true'" Include="-ci" /> + <_CoreClrBuildArg Condition="'$(CrossBuild)' == 'true'" Include="-cross" /> + <_CoreClrBuildArg Condition="$([MSBuild]::IsOsPlatform(Windows)) and ('$(TargetArchitecture)' == 'x86' or '$(TargetArchitecture)' == 'x64') and '$(Configuration)' == 'Release'" Include="-enforcepgo" /> + <_CoreClrBuildArg Condition="!$([MSBuild]::IsOsPlatform(Windows)) and '$(Configuration)' == 'Release'" Include="-stripsymbols" /> + <_CoreClrBuildArg Condition="$([MSBuild]::IsOsPlatform(Windows)) and '$(CrossDac)' != ''" Include="-$(CrossDac)dac" /> + <_CoreClrBuildArg Condition="'$(OfficialBuildId)' != ''" Include="/p:OfficialBuildId=$(OfficialBuildId)" /> + </ItemGroup> + + <PropertyGroup> + <_CoreClrBuildScript Condition="$([MSBuild]::IsOsPlatform(Windows))">build-runtime.cmd</_CoreClrBuildScript> + <_CoreClrBuildScript Condition="!$([MSBuild]::IsOsPlatform(Windows))">build-runtime.sh</_CoreClrBuildScript> + </PropertyGroup> + + <!-- Use IgnoreStandardErrorWarningFormat because Arcade sets WarnAsError and there's an existing warning in the native build. --> + <Exec Command=""$(MSBuildThisFileDirectory)$(_CoreClrBuildScript)" @(_CoreClrBuildArg->'%(Identity)',' ')" IgnoreStandardErrorWarningFormat="true" /> + </Target> + + <Target Name="Restore" /> + <Target Name="Test" /> + <Target Name="Pack" /> +</Project> |