86 lines
4.1 KiB
Plaintext
86 lines
4.1 KiB
Plaintext
|
<Project DefaultTargets="UnitTest" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||
|
<PropertyGroup>
|
||
|
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
|
||
|
|
||
|
<!-- TODO: CodeAnalysis is off by default in VS11 because FxCop cannot load custom rules built against Dev10 -->
|
||
|
<CodeAnalysis Condition=" '$(CodeAnalysis)' == '' and '$(VS110COMNTOOLS)' == ''">true</CodeAnalysis>
|
||
|
|
||
|
<StyleCopEnabled Condition=" '$(StyleCopEnabled)' == '' ">true</StyleCopEnabled>
|
||
|
<BuildInParallel Condition=" '$(BuildInParallel)' == '' And $(MSBuildNodeCount) > 1 ">true</BuildInParallel>
|
||
|
<BuildInParallel Condition=" '$(BuildInParallel)' == '' ">false</BuildInParallel>
|
||
|
<TestResultsDirectory>$(MSBuildThisFileDirectory)bin\$(Configuration)\test\TestResults\</TestResultsDirectory>
|
||
|
</PropertyGroup>
|
||
|
|
||
|
<Target Name="Integration" DependsOnTargets="Clean;Build;UnitTest" />
|
||
|
|
||
|
<Target Name="Clean">
|
||
|
<MSBuild
|
||
|
Projects="Runtime.sln"
|
||
|
Targets="Clean"
|
||
|
Properties="Configuration=$(Configuration)" />
|
||
|
<RemoveDir Directories="bin\$(Configuration)" />
|
||
|
</Target>
|
||
|
|
||
|
<Target Name="Prereq">
|
||
|
<MSBuild
|
||
|
Projects="tools\WebStack.NuGet.targets"
|
||
|
Targets="VerifyPackages"
|
||
|
Properties="CompactMessage=false"
|
||
|
Condition=" '$(EnableNuGetPackageRestore)' != 'true' " />
|
||
|
<CallTarget Targets="RestorePackages" Condition=" '$(EnableNuGetPackageRestore)' == 'true' " />
|
||
|
</Target>
|
||
|
|
||
|
<Target Name="RestorePackages">
|
||
|
<!--
|
||
|
This can't build in parallel because of NuGet package restore race conditions.
|
||
|
When this is fixed in NuGet, we can remove the CSPROJ part of this target
|
||
|
(we will continue to need the NuGet install for StyleCop and FxCop tasks).
|
||
|
|
||
|
NOTE: These projects are hand selected to be the minimum # of CSPROJ files that
|
||
|
ensure we've restored every remote package. If another collision is found,
|
||
|
please review the project list as appropriate.
|
||
|
-->
|
||
|
<ItemGroup>
|
||
|
<RestoreCsProjFiles
|
||
|
Include="test\Microsoft.Web.Http.Data.Test\*.csproj;
|
||
|
src\System.Web.WebPages.Administration\*.csproj;
|
||
|
src\System.Web.WebPages.Deployment\*.csproj;
|
||
|
src\Microsoft.Web.WebPages.OAuth\*.csproj" />
|
||
|
</ItemGroup>
|
||
|
<Message Text="Restoring NuGet packages..." Importance="High" />
|
||
|
<!-- Download NuGet.exe -->
|
||
|
<MSBuild
|
||
|
Projects="tools\WebStack.NuGet.targets"
|
||
|
Targets="CheckPrerequisites" />
|
||
|
<!-- Restore the things the CSPROJ files need -->
|
||
|
<MSBuild
|
||
|
Projects="@(RestoreCsProjFiles)"
|
||
|
BuildInParallel="false"
|
||
|
Targets="RestorePackages" />
|
||
|
<!-- Hand restore packages with binaries that this MSBuild process needs -->
|
||
|
<MSBuild
|
||
|
Projects="tools\WebStack.NuGet.targets"
|
||
|
Targets="RestoreBinaryDependencies" />
|
||
|
</Target>
|
||
|
|
||
|
<Target Name="Build" DependsOnTargets="Prereq">
|
||
|
<MakeDir Directories="bin\$(Configuration)" />
|
||
|
<MSBuild
|
||
|
Projects="Runtime.sln"
|
||
|
BuildInParallel="$(BuildInParallel)"
|
||
|
Targets="Build"
|
||
|
Properties="Configuration=$(Configuration);CodeAnalysis=$(CodeAnalysis);StyleCopEnabled=$(StyleCopEnabled)" />
|
||
|
</Target>
|
||
|
|
||
|
<Target Name="UnitTest" DependsOnTargets="Build">
|
||
|
<ItemGroup>
|
||
|
<TestDLLsXunit Include="bin\$(Configuration)\test\*.Test.dll;bin\$(Configuration)\test\*.Test.*.dll" Exclude="**\SPA.Test.dll" />
|
||
|
<XunitProject Include="tools\WebStack.xunit.targets">
|
||
|
<Properties>TestAssembly=%(TestDLLsXunit.FullPath);XmlPath=$(TestResultsDirectory)%(TestDLLsXunit.FileName)-XunitResults.xml</Properties>
|
||
|
</XunitProject>
|
||
|
</ItemGroup>
|
||
|
<MakeDir Directories="$(TestResultsDirectory)" />
|
||
|
<MSBuild Projects="@(XunitProject)" BuildInParallel="$(BuildInParallel)" Targets="Xunit" />
|
||
|
</Target>
|
||
|
</Project>
|