1<Project ToolsVersion="14.0" DefaultTargets="BuildAndTest" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2 <Import Project="dir.props" /> 3 4 <!-- required to build the projects in their specified order --> 5 <PropertyGroup> 6 <SerializeProjects>true</SerializeProjects> 7 </PropertyGroup> 8 9 <ItemGroup Condition="'$(DirectoryToBuild)' == ''"> 10 <Project Include="ref.builds" /> 11 <Project Include="shims\shims.proj" /> 12 <Project Include="Native\native-binplace.proj" /> 13 <Project Include="src.builds" /> 14 <Project Include="shims\manual\*.csproj" /> 15 <Project Include="shims\ApiCompat.proj" /> 16 </ItemGroup> 17 18 <UsingTask TaskName="GenerateDepsJson" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll"/> 19 <!-- After we build all the source libraries we need to generate a deps.json file for the shared test framework --> 20 <Target Name="GenerateTestSharedFrameworkDepsFile" AfterTargets="BuildAllProjects" Condition="'$(BinplaceTestSharedFramework)' == 'true'"> 21 22 <ItemGroup> 23 <!-- This is for HostPolicy, CoreCLR and Jit dependencies to continue to remain inside of the dep.json --> 24 <ExceptionForDepsJson Include="microsoft.netcore.app" /> 25 26 <!-- TODO: We should see about generating this from scratch instead of relying on a previous deps file as a template --> 27 <_sharedFrameworkDepsJson Include="$(ToolsDir)dotnetcli\shared\Microsoft.NETCore.App\*\Microsoft.NETCore.App.deps.json" /> 28 </ItemGroup> 29 30 <PropertyGroup> 31 <_OriginalDepsJsonPath>%(_sharedFrameworkDepsJson.FullPath)</_OriginalDepsJsonPath> 32 <_OutputTestSharedFrameworkDepsPath>$(NETCoreAppTestSharedFrameworkPath)\Microsoft.NETCore.App.deps.json</_OutputTestSharedFrameworkDepsPath> 33 </PropertyGroup> 34 35 <GenerateDepsJson DepsJsonPath="$(_OriginalDepsJsonPath)" 36 GenerateNewDepsJson="true" 37 RuntimeDirectory="$(NETCoreAppTestSharedFrameworkPath)" 38 DepsExceptions="@(ExceptionForDepsJson)" 39 OutputPath="$(_OutputTestSharedFrameworkDepsPath)"/> 40 </Target> 41 42 <ItemGroup Condition="'$(DirectoryToBuild)' != ''"> 43 <Project Include="$(DirectoryToBuild)/**/*.csproj" /> 44 </ItemGroup> 45 46 <Import Project="..\dir.targets" /> 47 <Import Project="..\dir.traversal.targets" /> 48 49 <Import Project="$(ToolsDir)packages.targets" Condition="Exists('$(ToolsDir)packages.targets') and '$(ImportGetNuGetPackageVersions)' != 'false'" /> 50 <Import Project="$(ToolsDir)UpdateBuildValues.targets" Condition="Exists('$(ToolsDir)UpdateBuildValues.targets')" /> 51 52 <PropertyGroup Condition="Exists('$(ToolsDir)packages.targets') and '$(ImportGetNuGetPackageVersions)' != 'false'"> 53 <TraversalBuildDependsOn> 54 $(TraversalBuildDependsOn); 55 BuildPackages; 56 </TraversalBuildDependsOn> 57 </PropertyGroup> 58 59 <PropertyGroup Condition="Exists('$(ToolsDir)toolruntime.targets')"> 60 <TraversalBuildDependsOn> 61 EnsureBuildToolsRuntime; 62 $(TraversalBuildDependsOn) 63 </TraversalBuildDependsOn> 64 </PropertyGroup> 65 66 <!-- Generate the shared library for running ILC tests for configuration Release-x64 --> 67 <Target Name="GenerateSharedLibraryForILC" AfterTargets="BuildAllProjects" Condition="'$(EnableMultiFileILCTests)' == 'true'"> 68 <Message Importance="High" Text="Generating shared library for running ILC tests." Condition="Exists('$(TestHostRootPath)\TestILC\ilc.exe')" /> 69 <Exec Command="$(TestHostRootPath)\TestILC\ilc.exe -buildSharedAssemblies -buildType ret -frameworkPath "$(ILCFXInputFolder)"" StandardOutputImportance="Low" Condition="Exists('$(TestHostRootPath)\TestILC\ilc.exe')" /> 70 </Target> 71 72</Project> 73