diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/DotNetOpenAuth.Versioning.targets | 18 | ||||
-rw-r--r-- | tools/Publish.targets | 10 | ||||
-rw-r--r-- | tools/sandcastle.targets | 27 |
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"> |