1 <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4 $(OS) is set to Unix/Windows_NT. This comes from an environment variable on Windows and MSBuild on Unix.
7 <OsEnvironment Condition="'$(OsEnvironment)'==''">$(OS)</OsEnvironment>
10 <!-- Build Tools Versions -->
12 <RoslynVersion>1.0.0-rc3-20150510-01</RoslynVersion>
13 <RoslynPackageName>Microsoft.Net.ToolsetCompilers</RoslynPackageName>
17 Switching to the .NET Core version of the BuildTools tasks seems to break numerous scenarios, such as VS intellisense and resource designer
18 as well as runnning the build on mono. Until we can get these sorted out we will continue using the .NET 4.6 version of the tasks.
21 <BuildToolsTargets45>true</BuildToolsTargets45>
24 <!-- Common repo directories -->
26 <CopyNuGetImplementations Condition="'$(CopyNuGetImplementations)'==''">false</CopyNuGetImplementations>
27 <ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir>
28 <SourceDir>$(ProjectDir)src\</SourceDir>
29 <PackagesDir>$(ProjectDir)..\packages\</PackagesDir>
30 <ToolsDir Condition="'$(ToolsDir)'==''">$(ProjectDir)..\Tools\</ToolsDir>
31 <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ToolsDir)dotnetcli/</DotnetCliPath>
32 <BuildToolsTaskDir Condition="'$(BuildToolsTargets45)' == 'true'">$(ToolsDir)net46/</BuildToolsTaskDir>
33 <SkipImportILTargets>true</SkipImportILTargets>
36 <!-- Common properties -->
38 <RootBinDir>$(__RootBinDir)\</RootBinDir>
39 <RootBinDir Condition="'$(__RootBinDir)'==''">$(ProjectDir)bin\</RootBinDir>
42 <!-- Default Test platform to deploy the netstandard compiled tests to -->
44 <!-- we default TestTFM and FilterToTestTFM to netcoreapp1.0 if they are not explicity defined -->
45 <DefaultTestTFM Condition="'$(DefaultTestTFM)'==''">netcoreapp1.0</DefaultTestTFM>
46 <TestTFM Condition="'$(TestTFM)'==''">$(DefaultTestTFM)</TestTFM>
47 <FilterToTestTFM Condition="'$(FilterToTestTFM)'==''">$(DefaultTestTFM)</FilterToTestTFM>
52 <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">$(RootBinDir)obj\</BaseIntermediateOutputPath>
53 <IntermediateOutputPath Condition="'$(IntermediateOutputPath)' == ''">$(BaseIntermediateOutputPath)\$(BuildOS).$(BuildArch).$(BuildType)</IntermediateOutputPath>
54 <OutputPath Condition="'$(OutputPath)' == ''">$(BaseIntermediateOutputPath)\$(BuildOS).$(BuildArch).$(BuildType)</OutputPath>
57 <!-- Targeting Package paths -->
59 <TargetingPackPath Condition="'$(BaseTargetingPackPath)' == ''">$(RootBinDir)TargetingPack\</TargetingPackPath>
62 <Import Condition="Exists('$(ToolsDir)BuildVersion.targets')" Project="$(ToolsDir)BuildVersion.targets" />
64 <!-- Provides properties for dependency versions and configures dependency verification/auto-upgrade. -->
65 <Import Project="$(ProjectDir)..\dependencies.props" />
67 <!-- Common nuget properties -->
69 <NuGetToolPath Condition="'$(NuGetToolPath)'==''">$(PackagesDir)NuGet.exe</NuGetToolPath>
70 <NuGetConfigFile Condition="'$(NuGetConfigFile)'==''">$(SourceDir)NuGet.Config</NuGetConfigFile>
71 <NuGetConfigCommandLine>-ConfigFile "$(NuGetConfigFile)"</NuGetConfigCommandLine>
73 <NugetRestoreCommand>"$(NuGetToolPath)"</NugetRestoreCommand>
74 <NugetRestoreCommand>$(NugetRestoreCommand) install</NugetRestoreCommand>
75 <!-- Trim off the last slash so that nuget doesn't get confused and say there are illegal characters on
77 <NugetRestoreCommand>$(NugetRestoreCommand) -OutputDirectory "$(PackagesDir.TrimEnd('\\'))"</NugetRestoreCommand>
78 <NugetRestoreCommand>$(NugetRestoreCommand) $(NuGetConfigCommandLine)</NugetRestoreCommand>
79 <NugetRestoreCommand>$(NugetRestoreCommand) -Verbosity detailed</NugetRestoreCommand>
80 <NugetRestoreCommand Condition="'$(OsEnvironment)'=='Unix'">mono $(NuGetRestoreCommand)</NugetRestoreCommand>
83 <!-- list of nuget package sources passed to dnu -->
85 <!-- Need to escape double forward slash (%2F) or MSBuild will normalize to one slash on Unix. -->
86 <DnuSourceList Include="https:%2F%2Fdotnet.myget.org/F/dotnet-corefxlab/api/v3/index.json" />
87 <DnuSourceList Include="https:%2F%2Fdotnet.myget.org/F/dotnet-core/api/v3/index.json" />
88 <DnuSourceList Include="https:%2F%2Fapi.nuget.org/v3/index.json" />
92 <!-- list of directories to perform batch restore -->
94 <DnuRestoreDir Include=""$(MSBuildProjectDirectory)\src"" />
97 <PropertyGroup Condition="'$(BuildAllProjects)'=='true'">
98 <!-- When we do a traversal build we get all packages up front, don't restore them again -->
99 <RestorePackages>false</RestorePackages>
103 <DotnetToolCommand Condition="'$(DotnetToolCommand)'=='' and '$(OsEnvironment)'!='Unix'">$(DotnetCliPath)dotnet.exe</DotnetToolCommand>
104 <DotnetToolCommand Condition="'$(DotnetToolCommand)'=='' and '$(OsEnvironment)'=='Unix'">$(DotnetCliPath)dotnet</DotnetToolCommand>
106 <DnuRestoreSource>@(DnuSourceList -> '--source %(Identity)', ' ')</DnuRestoreSource>
107 <DnuRestoreDirs>@(DnuRestoreDir -> '%(Identity)', ' ')</DnuRestoreDirs>
109 <DnuRestoreCommand>$(DnuRestoreCommand) "$(DotnetToolCommand)"</DnuRestoreCommand>
110 <DnuRestoreCommand>$(DnuRestoreCommand) restore</DnuRestoreCommand>
111 <DnuRestoreCommand>$(DnuRestoreCommand) --packages "$(PackagesDir.TrimEnd('/\'.ToCharArray()))" $(DnuRestoreSource)</DnuRestoreCommand>
114 <!-- Which tests shall we build? Default: Priority 0 tests.
115 At the command-line, the user can specify /p:CLRTestPriorityToBuild=666 (for example), and
116 all tests with CLRTestPriority 666,..., 1 AND 0 will build.
118 Consequently, specifying CLRTestPriorityToBuild=1 will build all tests with CLRTestPriority 1 and 0.
120 CLRTestPriority = 0 will build only priority 0 cases.
122 In other words, the CLRTestPriority cases of 0 are *essential* testcases. The higher the value,
123 the less priority we give them.
126 <CLRTestPriorityToBuild>0</CLRTestPriorityToBuild>