1 <Project DefaultTargets="Build">
3 <Import Project="$(MSBuildThisFileDirectory)directories.props" />
5 <!-- Build Properties -->
7 <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
8 <BuildWithAnalyzer Condition="'$(BuildWithAnalyzer)' == ''">False</BuildWithAnalyzer>
11 <!-- Projects to build -->
13 <ProjectToBuild Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj" Condition="'$(Project)' != ''" />
14 <ProjectToBuild Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
15 <ProjectToBuild Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
18 <!-- Nuspec files to pack -->
20 <NuspecFiles Include="$(ProjectRootDir)pkg\**\*.nuspec" />
27 including the Artifacts/ directory and the obj and bin directories of all projects.
32 <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\**" />
33 <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\bin\**" />
34 <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\obj\**" />
35 <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\bin\**" />
36 <ProjectIntermediateDir Include="@(ProjectIntermediateAllFiles->'%(RootDir)%(Directory)'->Distinct())" />
40 <DirToRemove Include="$(OutputBaseDir)" />
41 <DirToRemove Include="@(ProjectIntermediateDir)" />
44 <RemoveDir Directories="@(DirToRemove)" />
53 <Target Name="Restore">
55 <MSBuild Projects="@(ProjectToBuild)"
56 Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources);BuildWithAnalyzer=$(BuildWithAnalyzer)"
57 BuildInParallel="false"
69 <MSBuild Projects="@(ProjectToBuild)"
70 Properties="Configuration=$(Configuration);BuildWithAnalyzer=$(BuildWithAnalyzer)"
71 BuildInParallel="true"
72 UseResultsCache="true"
75 <MSBuild Projects="@(ProjectToBuild)"
76 Properties="Configuration=$(Configuration)"
77 BuildInParallel="false"
78 Targets="CopyToArtifactsDirectory" />
85 Generate nuget packages.
89 <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
90 Properties="NoBuild=True"
93 <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
94 Properties="NoBuild=True;Version=$(Version);NuspecFile=%(NuspecFiles.Identity)"
102 Generate dummy assemblies of all projects.
104 <Target Name="Dummy">
107 <APIToolPath>$(MSBuildThisFileDirectory)..\tools\bin\APITool.dll</APIToolPath>
110 <MakeDir Directories="$(OutputDummyDir)" />
111 <Exec Command="dotnet $([System.IO.Path]::GetFullPath('$(APIToolPath)')) dummy $(OutputPublicDir)ref $(OutputDummyDir) " />