summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2010-01-08 09:13:00 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2010-01-08 09:13:00 -0800
commit1e74844e63bd444b6848ca526a2c18b4d32e71cb (patch)
tree0e801d5065957d2441a51ed37141eafdaa5aebff /tools
parent7e774c857642f27c360ffab07cbbf66bf3d08eea (diff)
parente30890023e669748386a43568cdba120e4d6f058 (diff)
downloadDotNetOpenAuth-1e74844e63bd444b6848ca526a2c18b4d32e71cb.zip
DotNetOpenAuth-1e74844e63bd444b6848ca526a2c18b4d32e71cb.tar.gz
DotNetOpenAuth-1e74844e63bd444b6848ca526a2c18b4d32e71cb.tar.bz2
Merge branch 'master' into master-Dev10
Conflicts: samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj src/DotNetOpenAuth.Test/DotNetOpenAuth.Test.csproj src/DotNetOpenAuth/DotNetOpenAuth.csproj
Diffstat (limited to 'tools')
-rw-r--r--tools/Documentation.targets1
-rw-r--r--tools/DotNetOpenAuth.Versioning.targets16
-rw-r--r--tools/DotNetOpenAuth.props (renamed from tools/DotNetOpenAuth.Common.Settings.targets)12
-rw-r--r--tools/DotNetOpenAuth.targets43
-rw-r--r--tools/JavascriptPacker.targets6
5 files changed, 56 insertions, 22 deletions
diff --git a/tools/Documentation.targets b/tools/Documentation.targets
index e677c49..dff4d88 100644
--- a/tools/Documentation.targets
+++ b/tools/Documentation.targets
@@ -4,7 +4,6 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..\</ProjectRoot>
<OutputAssembly>DotNetOpenAuth</OutputAssembly>
- <OutputPath>$(ProjectRoot)bin\$(Configuration)\</OutputPath>
<DocOutputPath>$(ProjectRoot)doc\</DocOutputPath>
<IntermediatePath>$(ProjectRoot)obj\$(Configuration)\</IntermediatePath>
<DocumentationFile>$(OutputPath)$(OutputAssembly).xml</DocumentationFile>
diff --git a/tools/DotNetOpenAuth.Versioning.targets b/tools/DotNetOpenAuth.Versioning.targets
index 5047f3a..7f4251d 100644
--- a/tools/DotNetOpenAuth.Versioning.targets
+++ b/tools/DotNetOpenAuth.Versioning.targets
@@ -1,21 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<!-- Import this .targets file to automatically generate AssemblyVersion
- attribute according to DotNetOpenAuth convention. -->
+ attribute according to DotNetOpenAuth convention.
+ This file assumes DotNetOpenAuth.props and DotNetOpenAuth.targets are also imported. -->
<PropertyGroup>
- <ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..\</ProjectRoot>
- <VersionCsFile>$(ProjectRoot)obj\$(Configuration)\$(AssemblyName).Version.cs</VersionCsFile>
+ <VersionCsFile>$(IntermediatePath)\$(AssemblyName).Version.cs</VersionCsFile>
<NoWarn>$(NoWarn);1607</NoWarn>
</PropertyGroup>
- <PropertyGroup Condition="'$(SignAssembly)' == 'true'">
- <DefineConstants>$(DefineConstants);StrongNameSigned</DefineConstants>
- <DelaySign>true</DelaySign>
- <PublicKeyFile Condition="'$(PublicKeyFile)' == ''">$(ProjectRoot)src\official-build-key.pub</PublicKeyFile>
- <AssemblyOriginatorKeyFile Condition="'$(AssemblyOriginatorKeyFile)' == ''">$(PublicKeyFile)</AssemblyOriginatorKeyFile>
- </PropertyGroup>
-
- <Import Project="$(ProjectRoot)lib\DotNetOpenAuth.BuildTasks.targets" />
<UsingTask AssemblyFile="$(ProjectRoot)lib\MSBuild.Community.Tasks.dll" TaskName="AssemblyInfo"/>
<Target Name="GetBuildVersion">
@@ -33,7 +25,7 @@
<Message Condition=" '$(AssemblyInformationalVersion)' != '' " Text="Building version $(BuildVersion) from commit $(AssemblyInformationalVersion)"/>
<Message Condition=" '$(AssemblyInformationalVersion)' == '' " Text="Building version $(BuildVersion)"/>
</Target>
-
+
<Target Name="BeforeBuild" DependsOnTargets="GetBuildVersion">
<PropertyGroup>
<NewVersionCsFile>$(VersionCsFile).new</NewVersionCsFile>
diff --git a/tools/DotNetOpenAuth.Common.Settings.targets b/tools/DotNetOpenAuth.props
index 7a8276c..693a344 100644
--- a/tools/DotNetOpenAuth.Common.Settings.targets
+++ b/tools/DotNetOpenAuth.props
@@ -1,4 +1,5 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets="InitializeProps">
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5" InitialTargets="InitializeProps">
<PropertyGroup>
<ProductName>DotNetOpenAuth</ProductName>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -7,10 +8,15 @@
<OutputPath>$(ProjectRoot)bin\$(Configuration)\</OutputPath>
<DocOutputPath>$(ProjectRoot)doc\</DocOutputPath>
<IntermediatePath>$(ProjectRoot)obj\$(Configuration)\</IntermediatePath>
+ <BaseIntermediateOutputPath Condition=" '$(BaseIntermediateOutputPath)' == '' ">obj\</BaseIntermediateOutputPath>
<ToolsDir>$(ProjectRoot)tools\</ToolsDir>
- <PublicKeyFile>$(ProjectRoot)src\official-build-key.pub</PublicKeyFile>
+
+ <SignAssembly>true</SignAssembly>
+ <PublicKeyFile Condition="'$(PublicKeyFile)' == ''">$(ProjectRoot)src\official-build-key.pub</PublicKeyFile>
+ <AssemblyOriginatorKeyFile Condition="'$(AssemblyOriginatorKeyFile)' == ''">$(PublicKeyFile)</AssemblyOriginatorKeyFile>
<KeyPairContainer Condition="'$(KeyPairContainer)' == ''">DotNetOpenAuth</KeyPairContainer>
<PublicKeyToken>2780CCD10D57B246</PublicKeyToken>
+ <DelaySign>true</DelaySign>
</PropertyGroup>
<Import Project="$(ProjectRoot)lib\DotNetOpenAuth.BuildTasks.targets" />
@@ -21,4 +27,4 @@
</CheckAdminRights>
<Message Importance="High" Text="IsElevated = $(IsElevated)" />
</Target>
-</Project>
+</Project> \ No newline at end of file
diff --git a/tools/DotNetOpenAuth.targets b/tools/DotNetOpenAuth.targets
new file mode 100644
index 0000000..235cf4b
--- /dev/null
+++ b/tools/DotNetOpenAuth.targets
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
+ <Import Project="DotNetOpenAuth.Versioning.targets" />
+ <Import Project="JavascriptPacker.targets" />
+
+ <PropertyGroup>
+ <DefineConstants Condition=" '$(SignAssembly)' == 'true' ">$(DefineConstants);StrongNameSigned</DefineConstants>
+ </PropertyGroup>
+
+ <!-- This forces a build break when Code Contracts are not installed. -->
+ <PropertyGroup>
+ <CompileDependsOn>$(CompileDependsOn);CheckForCodeContracts</CompileDependsOn>
+ </PropertyGroup>
+ <Target Name="CheckForCodeContracts">
+ <Error Condition=" '$(CodeContractsImported)' != 'true' " Text="This project requires Code Contracts. Please install from: http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx" />
+ </Target>
+
+ <!-- This is our multi-targeting aware shadow assembly generator. -->
+ <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="Publicize" />
+ <PropertyGroup>
+ <ResolveReferencesDependsOn>
+ $(ResolveReferencesDependsOn);
+ CreatePublicAccessors
+ </ResolveReferencesDependsOn>
+ </PropertyGroup>
+ <!-- Remove the built-in shadow generator, since we do it ourselves to avoid bugs in the Microsoft code. -->
+ <Target Name="CreatePublicAccessors">
+ <PropertyGroup>
+ <VSVersionForTargetFramework>v10.0</VSVersionForTargetFramework>
+ <VSVersionForTargetFramework Condition=" '$(TargetFrameworkVersion)' != 'v4.0' ">v9.0</VSVersionForTargetFramework>
+ </PropertyGroup>
+ <Publicize
+ Condition=" '%(ReferencePath.Shadow)' == 'true' "
+ SkipUnchangedFiles="true"
+ MSBuildExtensionsPath="$(MSBuildExtensionsPath)"
+ ToolPath="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\$(VSVersionForTargetFramework)\TeamTest"
+ Assembly="@(ReferencePath)"
+ DelaySign="$(DelaySign)"
+ KeyFile="$(PublicKeyFile)">
+ <Output TaskParameter="AccessorAssembly" ItemName="ReferencePath" />
+ </Publicize>
+ </Target>
+</Project>
diff --git a/tools/JavascriptPacker.targets b/tools/JavascriptPacker.targets
index 2640fd5..2db13a8 100644
--- a/tools/JavascriptPacker.targets
+++ b/tools/JavascriptPacker.targets
@@ -1,12 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<PropertyGroup>
- <ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..\</ProjectRoot>
- </PropertyGroup>
-
- <Import Project="$(ProjectRoot)lib\DotNetOpenAuth.BuildTasks.targets" />
-
- <PropertyGroup>
<PackJs Condition="'$(PackJs)' == '' and '$(Configuration)' == 'Release'">true</PackJs>
<PrepareResourcesDependsOn Condition="'$(PackJs)' == 'true'">
$(PrepareResourcesDependsOn);