summaryrefslogtreecommitdiffstats
path: root/build.proj
diff options
context:
space:
mode:
Diffstat (limited to 'build.proj')
-rw-r--r--build.proj45
1 files changed, 44 insertions, 1 deletions
diff --git a/build.proj b/build.proj
index 657cb02..b2fafe1 100644
--- a/build.proj
+++ b/build.proj
@@ -63,6 +63,47 @@
<MSBuild Projects="$(SolutionPath)" Targets="Rebuild" Properties="Sign=$(Sign)" />
</Target>
+ <Target Name="_EnsureCleanTools" DependsOnTargets="_SetToolsProperties" Condition="'$(NoClean)' != 'true'">
+ <!-- clean up any previous drop with the same name so we don't aggregate files. -->
+ <RemoveDir Directories="$(ToolsDirectory)" />
+ </Target>
+
+ <Target Name="_SetToolsProperties">
+ <PropertyGroup>
+ <ToolsDirectory>$(ProjectRoot)\drops\$(ProductName)-Tools-$(BuildVersion)</ToolsDirectory>
+ </PropertyGroup>
+ </Target>
+
+ <Target Name="ToolsLayout" DependsOnTargets="GetBuildVersion;_SetDropProperties;_SetToolsProperties;_EnsureCleanTools">
+ <ItemGroup>
+ <ToolProjects Include="$(ProjectRoot)\Samples\OpenIdOfflineProvider\OpenIdOfflineProvider.csproj" />
+ <OfflineProvider Include="
+ $(ProjectRoot)\Samples\OpenIdOfflineProvider\bin\$(Configuration)\**\*.dll;
+ $(ProjectRoot)\Samples\OpenIdOfflineProvider\bin\$(Configuration)\OpenIdOfflineProvider.exe" />
+ <OfflineProviderTargets Include="
+ @(OfflineProvider->'$(ToolsDirectory)\%(RecursiveDir)%(FileName)%(Extension)')"/>
+
+ <AllToolSources Include="@(OfflineProvider)" />
+ <AllToolTargets Include="@(OfflineProviderTargets)" />
+ </ItemGroup>
+
+ <MSBuild Projects="@(ToolProjects)" Properties="Sign=$(Sign)" />
+
+ <MakeDir Directories="@(ToolsDirectory)" />
+ <Copy SourceFiles="@(AllToolSources)" DestinationFiles="@(AllToolTargets)" SkipUnchangedFiles="true" />
+ </Target>
+
+ <Target Name="Tools" DependsOnTargets="ToolsLayout">
+ <PropertyGroup>
+ <ToolsZip>$(ToolsDirectory).zip</ToolsZip>
+ </PropertyGroup>
+
+ <Delete Files="$(ToolsZip)" />
+ <Zip ZipFileName="$(ToolsZip)"
+ Files="@(AllToolTargets)"
+ WorkingDirectory="$(ToolsDirectory)" />
+ </Target>
+
<Target Name="Documentation" DependsOnTargets="BuildProduct;Chm" Condition="'$(NoDocumentation)' != 'true'">
</Target>
@@ -155,6 +196,7 @@
<DropLibFiles Include="@(DropLibSourceFiles->'$(DropLibDirectory)\%(RecurisveDir)%(FileName)%(Extension)')"/>
<DropSamplesFiles Include="@(DropSamplesSourceFiles->'$(DropSamplesDirectory)\%(RecursiveDir)%(FileName)%(Extension)')"/>
<DropSamplesRefreshFiles Include="@(DropSamplesRefreshSourceFiles->'$(DropSamplesDirectory)\%(RecursiveDir)%(FileName).refresh')"/>
+ <DropSamplesToolsProjects Include="$(DropSamplesDirectory)\OpenIdOfflineProvider\OpenIdOfflineProvider.csproj" />
<DropSpecsFiles Include="@(DropSpecsSourceFiles->'$(DropSpecsDirectory)\%(RecursiveDir)%(FileName)%(Extension)')"/>
<AllDropSources Include="
@@ -184,6 +226,7 @@
<ItemGroup>
<SampleProjectTargets Include="$(DropSamplesDirectory)\**\*.csproj" />
</ItemGroup>
+ <FixupShippingToolSamples Projects="@(DropSamplesToolsProjects)" />
<ChangeProjectReferenceToAssemblyReference Projects="@(SampleProjectTargets)"
ProjectReference="..\..\src\$(ProductName)\$(ProductName).csproj" Reference="..\..\Bin\$(ProductName).dll" />
</Target>
@@ -198,7 +241,7 @@
<!-- Although Nightly includes publishing samples and docs, those targets are conditioned for
running only when the SampleWebRoot and DocWebRoot properties are set, respectively. -->
- <Target Name="Nightly" DependsOnTargets="Drop;PublishSamples;PublishDocumentation">
+ <Target Name="Nightly" DependsOnTargets="Drop;Tools;PublishSamples;PublishDocumentation">
</Target>