b6a2c01cf6
Our build scripts were pulling down all of buildtools and run.exe in service of "clean.{cmd|sh}". While having consisent commands across the repos is a good thing to strive for, we are pulling down a bunch of additional stuff we don't need for simple commands that have well known analogs (e.g. git clean). If we had been all in on run.exe, this might have made sense, but we aren't, so it feels like something we should clean up. By doing this, we can stop downloading bootstrap from github when we build (super dangerous anyway because changes in buildtools could have broken us). In addition, I changed the way we install dotnet to just invoke the script in `scripts/obtain/` instead of downloading a version from GitHub. This makes local development of changes to obtain easier and removes yet another place we had to download a script.
58 lines
2.7 KiB
XML
58 lines
2.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="14.0" DefaultTargets="BuildTheWholeCli" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
|
|
|
<ItemGroup>
|
|
<DotnetCliBuildFrameworkInputs Include="build_projects/**/*.cs" Exclude="build_projects/**/obj/**/*.cs" />
|
|
<DotnetCliBuildFrameworkInputs Include="build_projects/**/*.csproj" />
|
|
</ItemGroup>
|
|
|
|
<!-- Workaround to "Native image cannot be loaded multiple times" issue
|
|
A target in the top level file needs to run and invoke a task
|
|
https://github.com/Microsoft/msbuild/issues/750 -->
|
|
<Target Name="MSBuildWorkaroundTarget">
|
|
<Message Text="Dont remove this target" />
|
|
</Target>
|
|
|
|
<Target Name="BuildDotnetCliBuildFramework"
|
|
Inputs="@(DotnetCliBuildFrameworkInputs)"
|
|
Outputs="$(CLIBuildDll)"
|
|
DependsOnTargets="MSBuildWorkaroundTarget;
|
|
RestoreDotnetCliBuildFramework">
|
|
|
|
<Exec Command="$(DotnetStage0) publish -o $(DotnetCliBuildDirectory)/bin --framework netcoreapp2.0 /p:GeneratePropsFile=$(GeneratePropsFile)"
|
|
WorkingDirectory="$(DotnetCliBuildDirectory)"/>
|
|
</Target>
|
|
|
|
<ItemGroup>
|
|
<RestoreDotnetCliBuildFrameworkOutputs Include="$(DotnetCliBuildDirectory)/obj/project.assets.json" />
|
|
<RestoreDotnetCliBuildFrameworkOutputs Include="$(DotnetCliBuildDirectory)/obj/dotnet-cli-build.csproj.nuget.g.props" />
|
|
<RestoreDotnetCliBuildFrameworkOutputs Include="$(DotnetCliBuildDirectory)/obj/dotnet-cli-build.csproj.nuget.g.targets" />
|
|
</ItemGroup>
|
|
|
|
<Target Name="RestoreDotnetCliBuildFramework"
|
|
Inputs="$(DotnetCliBuildDirectory)/dotnet-cli-build.csproj"
|
|
Outputs="@(RestoreDotnetCliBuildFrameworkOutputs)">
|
|
|
|
<PropertyGroup>
|
|
<ExtraRestoreArgs>$(ExtraRestoreArgs) /p:GeneratePropsFile=$(GeneratePropsFile)</ExtraRestoreArgs>
|
|
<ExtraRestoreArgs Condition="'$(OS)' != 'Windows_NT'">$(ExtraRestoreArgs) --disable-parallel</ExtraRestoreArgs>
|
|
</PropertyGroup>
|
|
|
|
<Exec Command="$(DotnetStage0) restore $(ExtraRestoreArgs)"
|
|
WorkingDirectory="$(DotnetCliBuildDirectory)"/>
|
|
</Target>
|
|
|
|
<Target Name="BuildTheWholeCli" DependsOnTargets="$(CLITargets)" />
|
|
|
|
<Import Project="build/GitCommitInfo.targets" />
|
|
<Import Project="build/HostInfo.targets" />
|
|
<Import Project="build/BuildInfo.targets" />
|
|
<Import Project="build/Prepare.targets" />
|
|
<Import Project="build/Compile.targets" />
|
|
<Import Project="build/Package.targets" />
|
|
<Import Project="build/Test.targets" />
|
|
<Import Project="build/Publish.targets" />
|
|
|
|
<Import Project="build/InitRepo.targets" />
|
|
</Project>
|