1 <Project DefaultTargets="Build">
3 <Import Project="$(MSBuildThisFileDirectory)directories.props" />
5 <!-- Build Properties -->
7 <Configuration>Release</Configuration>
10 <!-- Projects to build -->
12 <ProjectToBuild Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj" Condition="'$(Project)' != ''" />
13 <ProjectToBuild Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
14 <ProjectToBuild Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
17 <!-- Nuspec files to pack -->
19 <NuspecFiles Include="$(ProjectRootDir)pkg\**\*.nuspec" />
26 including the Artifacts/ directory and the obj/ directories for all projects.
31 <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\*" />
32 <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\obj\*" />
33 <ProjectIntermediateDir Include="@(ProjectIntermediateAllFiles->'%(RootDir)%(Directory)'->Distinct())" />
37 <DirToRemove Include="$(OutputBaseDir)" />
38 <DirToRemove Include="@(ProjectIntermediateDir)" />
41 <RemoveDir Directories="@(DirToRemove)" />
50 <Target Name="Restore">
52 <MSBuild Projects="@(ProjectToBuild)"
53 Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources)"
54 BuildInParallel="false"
66 <MSBuild Projects="@(ProjectToBuild)"
67 Properties="Configuration=$(Configuration)"
68 BuildInParallel="true"
69 UseResultsCache="true"
72 <MSBuild Projects="@(ProjectToBuild)"
73 Properties="Configuration=$(Configuration)"
74 BuildInParallel="false"
75 Targets="CopyToArtifactsDirectory" />
82 Generate nuget packages.
86 <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
87 Properties="NoBuild=True"
90 <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
91 Properties="NoBuild=True;Version=$(Version);NuspecFile=%(NuspecFiles.Identity)"
99 Generate dummy assemblies of all projects.
101 <Target Name="Dummy">
104 <APIToolPath>$(MSBuildThisFileDirectory)..\tools\bin\APITool.dll</APIToolPath>
107 <MakeDir Directories="$(OutputDummyDir)" />
108 <Exec Command="dotnet $([System.IO.Path]::GetFullPath('$(APIToolPath)')) dummy $(OutputPublicDir)ref $(OutputDummyDir) " />