<!-- Build Properties -->
<PropertyGroup>
- <Configuration>Release</Configuration>
- <GenDummyCommand>dotnet $(GenDummyDir)\GenDummy.dll</GenDummyCommand>
- <PublicDummyProjectDir>$(ProjectRootDir).dummy\</PublicDummyProjectDir>
- <InternalDummyProjectDir>$(ProjectRootDir)internal\.dummy\</InternalDummyProjectDir>
+ <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
+ <BuildWithAnalyzer Condition="'$(BuildWithAnalyzer)' == ''">False</BuildWithAnalyzer>
</PropertyGroup>
<!-- Projects to build -->
<ItemGroup>
- <ProjectToBuild Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj" Condition="'$(Project)' != ''">
- <Visibility>Public</Visibility>
- </ProjectToBuild>
- <ProjectToBuild Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''">
- <Visibility>Public</Visibility>
- </ProjectToBuild>
- <ProjectToBuild Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''">
- <Visibility>Internal</Visibility>
- </ProjectToBuild>
+ <ProjectToBuild Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj" Condition="'$(Project)' != ''" />
+ <ProjectToBuild Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
+ <ProjectToBuild Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
</ItemGroup>
<!-- Nuspec files to pack -->
<ItemGroup>
- <NuspecFiles Include="$(ProjectRootDir)pkg\*.nuspec" />
+ <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>
<ItemGroup>
<DirToRemove Include="$(OutputBaseDir)" />
<DirToRemove Include="@(ProjectIntermediateDir)" />
- <DirToRemove Include="$(PublicDummyProjectDir)" />
- <DirToRemove Include="$(InternalDummyProjectDir)" />
</ItemGroup>
<RemoveDir Directories="@(DirToRemove)" />
<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="Rebuild" />
-->
<Target Name="Dummy">
- <MSBuild Projects="@(ProjectToBuild)"
- Properties="Configuration=$(Configuration);IsDummyBuild=True"
- BuildInParallel="true"
- UseResultsCache="true"
- Targets="Rebuild" />
+ <PropertyGroup>
+ <APIToolPath>$(MSBuildThisFileDirectory)..\tools\bin\APITool.dll</APIToolPath>
+ </PropertyGroup>
- <MSBuild Projects="@(ProjectToBuild)"
- Properties="Configuration=$(Configuration)"
- BuildInParallel="false"
- Targets="CopyToDummyArtifactsDirectory" />
+ <MakeDir Directories="$(OutputDummyDir)" />
+ <Exec Command="dotnet $([System.IO.Path]::GetFullPath('$(APIToolPath)')) dummy $(OutputPublicDir)ref $(OutputDummyDir) " />
</Target>