<!-- Build Properties -->
<PropertyGroup>
- <Configuration>Release</Configuration>
+ <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
+ <BuildWithAnalyzer Condition="'$(BuildWithAnalyzer)' == ''">False</BuildWithAnalyzer>
</PropertyGroup>
<!-- Projects to build -->
<ProjectToBuild Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
</ItemGroup>
+ <!-- Nuspec files to pack -->
+ <ItemGroup>
+ <NuspecFiles Include="$(ProjectRootDir)pkg\**\*.nuspec" />
+ </ItemGroup>
+
<!--
Target : Clean
==============
Delete all artifacts,
- including the Artifacts/ directory and the obj/ directories for all projects.
+ including the Artifacts/ directory and the obj and bin directories of all projects.
-->
<Target Name="Clean">
<ItemGroup>
- <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\*" />
- <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\obj\*" />
+ <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\**" />
+ <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\bin\**" />
+ <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\obj\**" />
+ <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\bin\**" />
<ProjectIntermediateDir Include="@(ProjectIntermediateAllFiles->'%(RootDir)%(Directory)'->Distinct())" />
</ItemGroup>
<Target Name="Restore">
<MSBuild Projects="@(ProjectToBuild)"
- Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources)"
+ Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources);BuildWithAnalyzer=$(BuildWithAnalyzer)"
BuildInParallel="false"
Targets="Restore" />
<Target Name="Build">
<MSBuild Projects="@(ProjectToBuild)"
- Properties="Configuration=$(Configuration)"
+ Properties="Configuration=$(Configuration);BuildWithAnalyzer=$(BuildWithAnalyzer)"
BuildInParallel="true"
UseResultsCache="true"
- Targets="Build" />
+ Targets="Rebuild" />
<MSBuild Projects="@(ProjectToBuild)"
Properties="Configuration=$(Configuration)"
</Target>
+ <!--
+ Target : Pack
+ ==============
+ Generate nuget packages.
+ -->
+ <Target Name="Pack">
+
+ <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
+ Properties="NoBuild=True"
+ Targets="Restore" />
+
+ <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
+ Properties="NoBuild=True;Version=$(Version);NuspecFile=%(NuspecFiles.Identity)"
+ Targets="Pack" />
+
+ </Target>
+
+ <!--
+ Target : Dummy
+ ==============
+ Generate dummy assemblies of all projects.
+ -->
+ <Target Name="Dummy">
+
+ <PropertyGroup>
+ <APIToolPath>$(MSBuildThisFileDirectory)..\tools\bin\APITool.dll</APIToolPath>
+ </PropertyGroup>
+
+ <MakeDir Directories="$(OutputDummyDir)" />
+ <Exec Command="dotnet $([System.IO.Path]::GetFullPath('$(APIToolPath)')) dummy $(OutputPublicDir)ref $(OutputDummyDir) " />
+
+ </Target>
+
</Project>