<?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 --no-restore -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>