diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2010-02-15 21:57:29 -0800 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2010-02-15 21:57:29 -0800 |
commit | b5df112e6cad0cb41ead6b6a9c353bd5e564603e (patch) | |
tree | 4e498be97f1381f1a1dd832c0865309018e4d80c | |
parent | d42378e9f0ecb4e20aa488d0267c6bb383b3603c (diff) | |
download | DotNetOpenAuth-b5df112e6cad0cb41ead6b6a9c353bd5e564603e.zip DotNetOpenAuth-b5df112e6cad0cb41ead6b6a9c353bd5e564603e.tar.gz DotNetOpenAuth-b5df112e6cad0cb41ead6b6a9c353bd5e564603e.tar.bz2 |
Split out samples and doc building so they can be parallelized.
-rw-r--r-- | build.proj | 35 | ||||
-rw-r--r-- | doc/doc.proj | 9 | ||||
-rw-r--r-- | samples/Samples.proj | 16 | ||||
-rw-r--r-- | tools/DotNetOpenAuth.automated.targets | 11 |
4 files changed, 46 insertions, 25 deletions
@@ -1,15 +1,9 @@ <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildProjectDirectory)\tools\DotNetOpenAuth.automated.props"/> - <PropertyGroup> - </PropertyGroup> - - <Import Project="$(ProjectRoot)tools\Documentation.targets"/> <Import Project="$(ProjectRoot)tools\Publish.targets"/> <Import Project="$(ProjectRoot)tools\Translation.targets"/> <ItemGroup> - <SampleProjects Include="$(ProjectRoot)samples\**\*.csproj;$(ProjectRoot)samples\**\*.vbproj" /> - <SampleSites Include="OAuthConsumer;OAuthServiceProvider;InfoCardRelyingParty" /> <ProjectsToClean Include=" $(SolutionPath); vsi\vsi.proj; @@ -38,23 +32,10 @@ <RemoveDir Directories="@(DirtyDirectories)" /> </Target> - <Target Name="SkipVerification" Condition="'$(IsElevated)' == 'true'"> - <SignatureVerification SkipVerification="true" AssemblyName="*" PublicKeyToken="$(PublicKeyToken)" /> - </Target> - - <Target Name="BuildProduct" DependsOnTargets="SkipVerification"> - <MSBuild Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).csproj" BuildInParallel="$(BuildInParallel)" /> - </Target> - <Target Name="BuildTests" DependsOnTargets="SkipVerification"> <MSBuild Projects="$(SolutionPath)" Targets="DotNetOpenAuth_Test;DotNetOpenAuth_TestWeb" BuildInParallel="$(BuildInParallel)" /> </Target> - <Target Name="BuildSamples" DependsOnTargets="SkipVerification"> - <MSBuild Projects="@(SampleProjects)" BuildInParallel="$(BuildInParallel)" /> - <MSBuild Projects="$(SolutionPath)" Targets="@(SampleSites)" BuildInParallel="$(BuildInParallel)" /> - </Target> - <Target Name="Build" DependsOnTargets="SkipVerification"> <MSBuild Projects="$(SolutionPath)" BuildInParallel="$(BuildInParallel)" /> </Target> @@ -110,9 +91,6 @@ ZipLevel="$(ZipLevel)" /> </Target> - <Target Name="Documentation" DependsOnTargets="BuildProduct;Chm" Condition="'$(NoDocumentation)' != 'true'"> - </Target> - <Target Name="Test" DependsOnTargets="BuildTests" Inputs="$(OutputPath)$(ProductName).Test.dll" Outputs='$(OutputPath)Test-result.xml'> @@ -126,7 +104,16 @@ ExcludeCategory="$(NUnitExcludeCategories)"/> </Target> - <Target Name="DropLayout" DependsOnTargets="BuildUnifiedProduct;ReSignDelaySignedAssemblies;BuildSamples;vsi;vsix;Documentation"> + <Target Name="DropLayout" DependsOnTargets="BuildUnifiedProduct;ReSignDelaySignedAssemblies"> + <!-- Note that we use an MSBuild task for these dependencies rather than individual DependsOnTargets entries + so that these builds can be executed in parallel. --> + <MSBuild BuildInParallel="$(BuildInParallel)" + Projects=" + samples\samples.proj; + vsi\vsi.proj; + vsix\vsix.proj; + doc\doc.proj; + " /> <PropertyGroup> <DropBinDirectory>$(DropDirectory)Bin\</DropBinDirectory> <DropLibDirectory>$(DropDirectory)Lib\</DropLibDirectory> @@ -251,5 +238,5 @@ </Target> - <Import Project="$(ProjectRoot)DotNetOpenAuth.automated.targets"/> + <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.automated.targets"/> </Project> diff --git a/doc/doc.proj b/doc/doc.proj new file mode 100644 index 0000000..5dcfc80 --- /dev/null +++ b/doc/doc.proj @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildProjectDirectory)\..\tools\DotNetOpenAuth.automated.props"/> + + <Target Name="Build" DependsOnTargets="BuildProduct;Chm" Condition=" '$(NoDocumentation)' != 'true' " /> + + <Import Project="$(ProjectRoot)tools\Documentation.targets"/> + <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.automated.targets"/> +</Project>
\ No newline at end of file diff --git a/samples/Samples.proj b/samples/Samples.proj new file mode 100644 index 0000000..9290837 --- /dev/null +++ b/samples/Samples.proj @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildProjectDirectory)\..\tools\DotNetOpenAuth.automated.props"/> + + <ItemGroup> + <SampleProjects Include="**\*.csproj;**\*.vbproj" /> + <SampleSites Include="OAuthConsumer;OAuthServiceProvider;InfoCardRelyingParty" /> + </ItemGroup> + + <Target Name="Build" DependsOnTargets="SkipVerification"> + <MSBuild Projects="@(SampleProjects)" BuildInParallel="$(BuildInParallel)" /> + <MSBuild Projects="$(SolutionPath)" Targets="@(SampleSites)" BuildInParallel="$(BuildInParallel)" /> + </Target> + + <Import Project="$(ProjectRoot)tools\DotNetOpenAuth.automated.targets"/> +</Project> diff --git a/tools/DotNetOpenAuth.automated.targets b/tools/DotNetOpenAuth.automated.targets index c6f34cd..9193d30 100644 --- a/tools/DotNetOpenAuth.automated.targets +++ b/tools/DotNetOpenAuth.automated.targets @@ -21,7 +21,16 @@ </PropertyGroup> </Target> - <Target Name="BuildUnifiedProduct"> + <Target Name="SkipVerification" Condition="'$(IsElevated)' == 'true'"> + <SignatureVerification SkipVerification="true" AssemblyName="*" PublicKeyToken="$(PublicKeyToken)" /> + </Target> + + <Target Name="BuildProduct" DependsOnTargets="SkipVerification"> + <MSBuild BuildInParallel="$(BuildInParallel)" + Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).csproj" /> + </Target> + + <Target Name="BuildUnifiedProduct" DependsOnTargets="BuildProduct"> <MSBuild BuildInParallel="$(BuildInParallel)" Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).csproj" Targets="BuildUnifiedProduct" /> |