summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/DotNetOpenAuth.Versioning.targets18
-rw-r--r--tools/Publish.targets10
-rw-r--r--tools/sandcastle.targets27
3 files changed, 49 insertions, 6 deletions
diff --git a/tools/DotNetOpenAuth.Versioning.targets b/tools/DotNetOpenAuth.Versioning.targets
index f4b12b0..9ba295d 100644
--- a/tools/DotNetOpenAuth.Versioning.targets
+++ b/tools/DotNetOpenAuth.Versioning.targets
@@ -5,16 +5,26 @@
<PropertyGroup>
<ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..</ProjectRoot>
<VersionCsFile>$(ProjectRoot)\obj\$(Configuration)\$(AssemblyName).Version.cs</VersionCsFile>
+ <NoWarn>$(NoWarn);1607</NoWarn>
</PropertyGroup>
<Import Project="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.targets" />
<UsingTask AssemblyFile="$(ProjectRoot)\lib\MSBuild.Community.Tasks.dll" TaskName="AssemblyInfo"/>
<Target Name="GetBuildVersion">
- <GetBuildVersion VersionFile="$(ProjectRoot)\src\version.txt" Condition=" '$(BuildVersion)' == '' ">
+ <GetBuildVersion Condition=" '$(BuildVersion)' == '' "
+ VersionFile="$(ProjectRoot)\src\version.txt"
+ GitRepoRoot="$(ProjectRoot)\">
<Output TaskParameter="Version" PropertyName="BuildVersion" />
+ <Output TaskParameter="GitCommitId" PropertyName="AssemblyInformationalVersion" />
</GetBuildVersion>
- <Message Text="Building version $(BuildVersion)"/>
+ <PropertyGroup>
+ <!-- In TeamCity, the build agent doesn't get the .git directory, but the commit id is available by other means. -->
+ <AssemblyInformationalVersion Condition=" '$(AssemblyInformationalVersion)' == '' ">$(BUILD_VCS_NUMBER)</AssemblyInformationalVersion>
+ </PropertyGroup>
+ <Warning Condition=" '$(AssemblyInformationalVersion)' == '' " Text="Unable to determine the git HEAD commit ID to use for informational version number." />
+ <Message Condition=" '$(AssemblyInformationalVersion)' != '' " Text="Building version $(BuildVersion) from commit $(AssemblyInformationalVersion)"/>
+ <Message Condition=" '$(AssemblyInformationalVersion)' == '' " Text="Building version $(BuildVersion)"/>
</Target>
<Target Name="BeforeBuild" DependsOnTargets="GetBuildVersion">
@@ -22,7 +32,9 @@
<NewVersionCsFile>$(VersionCsFile).new</NewVersionCsFile>
</PropertyGroup>
<MakeDir Directories="$(ProjectRoot)\obj\$(Configuration)"/>
- <AssemblyInfo OutputFile="$(NewVersionCsFile)" CodeLanguage="C#" AssemblyVersion="$(BuildVersion)" />
+ <AssemblyInfo OutputFile="$(NewVersionCsFile)" CodeLanguage="C#"
+ AssemblyVersion="$(BuildVersion)"
+ AssemblyInformationalVersion="$(AssemblyInformationalVersion)" />
<!-- Avoid applying the newly generated AssemblyInfo.cs file to the build
unless it has changed in order to allow for incremental building. -->
<CompareFiles OriginalItems="$(VersionCsFile)" NewItems="$(NewVersionCsFile)">
diff --git a/tools/Publish.targets b/tools/Publish.targets
index 036e751..a4d2bfa 100644
--- a/tools/Publish.targets
+++ b/tools/Publish.targets
@@ -67,6 +67,11 @@
<Copy SourceFiles="@(PublishableWebSampleSources)" DestinationFiles="@(PublishableWebSampleTargets)" SkipUnchangedFiles="true" />
</Target>
+ <Target Name="UnpublishSamples"
+ DependsOnTargets="DeleteSampleSitesOnIis"
+ Condition=" '$(SampleWebRoot)' != '' ">
+ </Target>
+
<Target Name="PrepareForPublishDocumentation" DependsOnTargets="Documentation">
<ItemGroup>
<DocSources Include="$(ProjectRoot)\doc\api\**\*" />
@@ -84,6 +89,11 @@
<Copy SourceFiles="@(DocSources)" DestinationFiles="@(DocTargets)" SkipUnchangedFiles="true" />
</Target>
+ <Target Name="UnpublishDocumentation"
+ DependsOnTargets="DeleteDocumentationSiteOnIis"
+ Condition=" '$(DocWebRoot)' != '' ">
+ </Target>
+
<Target Name="CreateSampleSitesOnIis" DependsOnTargets="PrepareForIIS;PrepareForPublishSamples">
<Error Text="The PublishSamplesWebSiteName property must be set." Condition=" '$(PublishSamplesWebSiteName)' == '' "/>
<Error Text="The SampleWebRoot property must be set." Condition=" '$(SampleWebRoot)' == '' " />
diff --git a/tools/sandcastle.targets b/tools/sandcastle.targets
index 8103a21..d76698e 100644
--- a/tools/sandcastle.targets
+++ b/tools/sandcastle.targets
@@ -40,10 +40,31 @@
</ItemGroup>
<Target Name="CleanDocumentation">
- <Delete Files="$(ReflectionFile);$(ManifestFile);$(ReflectionBaseFile);$(ChmFile)" TreatErrorsAsWarnings="true"/>
- <RemoveDir Directories="$(DocOutputApiPath);$(DocIntermediatePath);$(ChmDir)" ContinueOnError="true"/>
- <RemoveDir Directories="$(FxReflectionIntermediatePath)" ContinueOnError="true" />
+ <ItemGroup>
+ <_DirtyFiles Include="
+ $(DocOutputApiPath)\**;
+ $(ReflectionFile);
+ $(ManifestFile);
+ $(ReflectionBaseFile);
+ $(ChmFile)
+ "
+ Exclude="
+ $(DocOutputApiPath)\Web.config;
+ $(DocOutputApiPath)\Default.aspx;
+ " />
+ <_DirtyDirectories Include="
+ $(DocIntermediatePath);
+ $(ChmDir);
+ $(FxReflectionIntermediatePath)
+ " />
+ </ItemGroup>
+ <Delete Files="@(_DirtyFiles)" TreatErrorsAsWarnings="true"/>
+ <RemoveDir Directories="@(_DirtyDirectories)" ContinueOnError="true"/>
<!--<RemoveDir Directories="$(FxReflectionOutputPath)" ContinueOnError="true" />-->
+ <ItemGroup>
+ <_DirtyFiles Remove="@(_DirtyFiles)" />
+ <_DirtyDirectories Remove="@(_DirtyDirectories)" />
+ </ItemGroup>
</Target>
<Target Name="CreateIntermediatePath">