1 <Project DefaultTargets="Build">
3 <Import Project="$(MSBuildThisFileDirectory)directories.props" />
5 <!-- Build Properties -->
7 <Configuration>Release</Configuration>
8 <GenDummyCommand>dotnet $(GenDummyDir)\GenDummy.dll</GenDummyCommand>
9 <PublicDummyProjectDir>$(ProjectRootDir).dummy\</PublicDummyProjectDir>
10 <InternalDummyProjectDir>$(ProjectRootDir)internal\.dummy\</InternalDummyProjectDir>
13 <!-- Projects to build -->
15 <ProjectToBuild Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj" Condition="'$(Project)' != ''">
16 <Visibility>Public</Visibility>
18 <ProjectToBuild Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''">
19 <Visibility>Public</Visibility>
21 <ProjectToBuild Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''">
22 <Visibility>Internal</Visibility>
26 <!-- Nuspec files to pack -->
28 <NuspecFiles Include="$(ProjectRootDir)pkg\*.nuspec" />
35 including the Artifacts/ directory and the obj/ directories for all projects.
40 <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\*" />
41 <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\obj\*" />
42 <ProjectIntermediateDir Include="@(ProjectIntermediateAllFiles->'%(RootDir)%(Directory)'->Distinct())" />
46 <DirToRemove Include="$(OutputBaseDir)" />
47 <DirToRemove Include="@(ProjectIntermediateDir)" />
48 <DirToRemove Include="$(PublicDummyProjectDir)" />
49 <DirToRemove Include="$(InternalDummyProjectDir)" />
52 <RemoveDir Directories="@(DirToRemove)" />
61 <Target Name="Restore">
63 <MSBuild Projects="@(ProjectToBuild)"
64 Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources)"
65 BuildInParallel="false"
77 <MSBuild Projects="@(ProjectToBuild)"
78 Properties="Configuration=$(Configuration)"
79 BuildInParallel="true"
80 UseResultsCache="true"
83 <MSBuild Projects="@(ProjectToBuild)"
84 Properties="Configuration=$(Configuration)"
85 BuildInParallel="false"
86 Targets="CopyToArtifactsDirectory" />
93 Generate nuget packages.
97 <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
98 Properties="NoBuild=True"
101 <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
102 Properties="NoBuild=True;Version=$(Version);NuspecFile=%(NuspecFiles.Identity)"
110 Generate dummy assemblies of all projects.
112 <Target Name="Dummy">
114 <MSBuild Projects="@(ProjectToBuild)"
115 Properties="Configuration=$(Configuration);IsDummyBuild=True"
116 BuildInParallel="true"
117 UseResultsCache="true"
120 <MSBuild Projects="@(ProjectToBuild)"
121 Properties="Configuration=$(Configuration)"
122 BuildInParallel="false"
123 Targets="CopyToDummyArtifactsDirectory" />