summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/DotNetOpenAuth.automated.props1
-rw-r--r--tools/DotNetOpenAuth.props21
-rw-r--r--tools/DotNetOpenAuth.targets20
-rw-r--r--tools/drop.proj104
-rw-r--r--tools/sandcastle.targets3
5 files changed, 118 insertions, 31 deletions
diff --git a/tools/DotNetOpenAuth.automated.props b/tools/DotNetOpenAuth.automated.props
index a2dbe06..e73fa8c 100644
--- a/tools/DotNetOpenAuth.automated.props
+++ b/tools/DotNetOpenAuth.automated.props
@@ -10,5 +10,6 @@
even if we're not distributing the built bits (as is the case for project templates). -->
<Validation Condition=" '$(Validation)' == '' ">Full</Validation>
<NUnitToolPath Condition=" '$(NUnitToolPath)' == '' ">$(ProjectRoot)tools\NUnit\bin</NUnitToolPath>
+ <TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v4.0</TargetFrameworkVersion>
</PropertyGroup>
</Project>
diff --git a/tools/DotNetOpenAuth.props b/tools/DotNetOpenAuth.props
index a2a5011..b61d74a 100644
--- a/tools/DotNetOpenAuth.props
+++ b/tools/DotNetOpenAuth.props
@@ -3,10 +3,13 @@
<PropertyGroup>
<ProductName>DotNetOpenAuth</ProductName>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v3.5</TargetFrameworkVersion>
+ <TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v4.0</TargetFrameworkVersion>
<DisableFastUpToDateCheck>false</DisableFastUpToDateCheck>
<DropsRoot>$(ProjectRoot)drops\$(TargetFrameworkVersion)\$(Configuration)\</DropsRoot>
<OutputPath>$(ProjectRoot)bin\$(TargetFrameworkVersion)\$(Configuration)\</OutputPath>
+ <OutputPath35>$(ProjectRoot)bin\v3.5\$(Configuration)\</OutputPath35>
+ <OutputPath40>$(ProjectRoot)bin\v4.0\$(Configuration)\</OutputPath40>
+ <OutputPath45>$(ProjectRoot)bin\v4.5\$(Configuration)\</OutputPath45>
<DocOutputPath>$(ProjectRoot)doc\</DocOutputPath>
<IntermediatePath>$(ProjectRoot)obj\$(TargetFrameworkVersion)\$(Configuration)\</IntermediatePath>
<IntermediatePath40>$(ProjectRoot)obj\v4.0\$(Configuration)\</IntermediatePath40>
@@ -29,6 +32,9 @@
<SignedSubPath>signed\</SignedSubPath>
<ILMergeOutputAssemblyDirectory>$(OutputPath)unified\</ILMergeOutputAssemblyDirectory>
+ <ILMergeOutputAssembly35Directory>$(OutputPath35)unified\</ILMergeOutputAssembly35Directory>
+ <ILMergeOutputAssembly40Directory>$(OutputPath40)unified\</ILMergeOutputAssembly40Directory>
+ <ILMergeOutputAssembly45Directory>$(OutputPath45)unified\</ILMergeOutputAssembly45Directory>
<ILMergeOutputAssembly>$(ILMergeOutputAssemblyDirectory)$(ProductName).dll</ILMergeOutputAssembly>
<ILMergeOutputXmlDocs>$(ILMergeOutputAssemblyDirectory)$(ProductName).xml</ILMergeOutputXmlDocs>
<ILMergeOutputContractAssemblyDirectory>$(ILMergeOutputAssemblyDirectory)CodeContracts\</ILMergeOutputContractAssemblyDirectory>
@@ -77,6 +83,7 @@
" />
<ProductProjectNames Include="
DotNetOpenAuth.OAuth2;
+ DotNetOpenAuth.OAuth2.ClientAuthorization;
DotNetOpenAuth.OAuth2.AuthorizationServer;
DotNetOpenAuth.OAuth2.Client;
DotNetOpenAuth.OAuth2.Client.UI;
@@ -85,9 +92,19 @@
<MergeIntoUnifiedAssembly Condition=" '$(IncludeOAuth2)' == 'false' ">false</MergeIntoUnifiedAssembly>
</ProductProjectNames>
<ProductProjects Include="@(ProductProjectNames->'$(ProjectRoot)src\%(Identity)\%(Identity).csproj')"/>
+ <DelaySignedProjects Include="
+ @(ProductProjects);
+ $(ProjectRoot)src\dotnetopenauth\dotnetopenauth.proj;
+ " />
+ <DelaySignedProjects Include="$(ProjectRoot)src\dotnetopenauth.test\dotnetopenauth.test.csproj">
+ <Nonshipping>true</Nonshipping>
+ </DelaySignedProjects>
+ <DelaySignedProjects Include="$(ProjectRoot)samples\openidofflineprovider\openidofflineprovider.csproj">
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ </DelaySignedProjects>
<ProjectReferencesToRemove Include="@(ProductProjectNames->'..\..\src\%(Identity)\%(Identity).csproj')" />
- <AssemblyReferencesToReplaceWith Include="@(ProjectReferencesToRemove->'..\..\Bin\$(ProductName).dll')" />
+ <AssemblyReferencesToReplaceWith Include="@(ProjectReferencesToRemove->'..\..\Bin-net4.0\$(ProductName).dll')" />
<SignDependsOn Include="Build" Condition=" '$(SuppressBuildTarget)' != 'true' " />
<ILMergeInputAssemblies Condition=" '$(ClrVersion)' == '2' "
diff --git a/tools/DotNetOpenAuth.targets b/tools/DotNetOpenAuth.targets
index d27fbdc..4317fb9 100644
--- a/tools/DotNetOpenAuth.targets
+++ b/tools/DotNetOpenAuth.targets
@@ -18,6 +18,7 @@
<CodeContractsInstallDir>$(ProjectRoot)tools\Contracts\</CodeContractsInstallDir>
<DefineConstants Condition=" '$(SignAssembly)' == 'true' ">$(DefineConstants);StrongNameSigned</DefineConstants>
<DefineConstants Condition=" '$(ClrVersion)' == '4' ">$(DefineConstants);CLR4</DefineConstants>
+ <DefineConstants Condition=" '$(TargetFrameworkVersion)' == 'v4.5' ">$(DefineConstants);NetFx45</DefineConstants>
<AssemblySearchPaths>$(ProjectRoot)lib;$(AssemblySearchPaths)</AssemblySearchPaths>
<AssemblySearchPaths Condition="Exists('$(ProjectRoot)lib\net-$(TargetFrameworkVersion)')">$(ProjectRoot)lib\net-$(TargetFrameworkVersion);$(AssemblySearchPaths)</AssemblySearchPaths>
</PropertyGroup>
@@ -97,6 +98,7 @@
<SignedAssemblyTargets Include="@(AssembliesToSign->'%(RootDir)%(Directory)$(SignedSubPath)%(FileName)%(Extension)')">
<UnsignedAssemblyPath>%(AssembliesToSign.Identity)</UnsignedAssemblyPath>
<SymbolPath Condition="Exists('%(RootDir)%(Directory)%(FileName).pdb')">%(RootDir)%(Directory)%(FileName).pdb</SymbolPath>
+ <XmlDocumentationFile Condition="Exists('%(RootDir)%(Directory)%(FileName).xml')">%(RootDir)%(Directory)%(FileName).xml</XmlDocumentationFile>
</SignedAssemblyTargets>
</ItemGroup>
@@ -109,15 +111,15 @@
</Target>
<Target Name="ResignDelaySignedAssemblies" Outputs="@(ResignedAssembliesOutputs)">
- <ItemGroup>
- <DelaySignedProjects Include="
- @(ProductProjects);
- $(ProjectRoot)src\dotnetopenauth\dotnetopenauth.proj;
- $(ProjectRoot)src\dotnetopenauth.test\dotnetopenauth.test.csproj;
- $(ProjectRoot)samples\openidofflineprovider\openidofflineprovider.csproj;
- " />
- </ItemGroup>
- <MSBuild Projects="@(DelaySignedProjects)" Targets="Sign" BuildInParallel="$(BuildInParallel)">
+ <MSBuild Projects="@(DelaySignedProjects)" Targets="Sign" BuildInParallel="$(BuildInParallel)"
+ Condition=" '%(DelaySignedProjects.TargetFrameworkVersion)' == '' or '%(DelaySignedProjects.TargetFrameworkVersion)' == '$(TargetFrameworkVersion)' ">
+ <Output TaskParameter="TargetOutputs" ItemName="ResignedAssembliesOutputs"/>
+ </MSBuild>
+ </Target>
+
+ <Target Name="ResignShippingDelaySignedAssemblies" Outputs="@(ResignedAssembliesOutputs)">
+ <MSBuild Projects="@(DelaySignedProjects)" Targets="Sign" BuildInParallel="$(BuildInParallel)"
+ Condition=" '%(DelaySignedProjects.Nonshipping)' != 'true' and ('%(DelaySignedProjects.TargetFrameworkVersion)' == '' or '%(DelaySignedProjects.TargetFrameworkVersion)' == '$(TargetFrameworkVersion)') ">
<Output TaskParameter="TargetOutputs" ItemName="ResignedAssembliesOutputs"/>
</MSBuild>
</Target>
diff --git a/tools/drop.proj b/tools/drop.proj
index 6b00229..13b8f68 100644
--- a/tools/drop.proj
+++ b/tools/drop.proj
@@ -3,20 +3,61 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))\EnlistmentInfo.props" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))' != '' " />
<Import Project="$(MSBuildProjectDirectory)\DotNetOpenAuth.automated.props"/>
- <Target Name="Layout" DependsOnTargets="BuildUnifiedProduct;ReSignDelaySignedAssemblies">
+ <Target Name="LayoutDependencies">
+ <MSBuild Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).proj"
+ Properties="TargetFrameworkVersion=v3.5"
+ Targets="BuildUnifiedProduct"
+ BuildInParallel="$(BuildInParallel)" />
+ <MSBuild Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).proj"
+ Properties="TargetFrameworkVersion=v4.0"
+ Targets="BuildUnifiedProduct"
+ BuildInParallel="$(BuildInParallel)" />
+ <MSBuild Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).proj"
+ Properties="TargetFrameworkVersion=v4.5"
+ Targets="BuildUnifiedProduct"
+ BuildInParallel="$(BuildInParallel)" />
+ <MSBuild Projects="@(DelaySignedProjects)"
+ Properties="TargetFrameworkVersion=v3.5"
+ Targets="Sign"
+ BuildInParallel="$(BuildInParallel)"
+ Condition=" '%(DelaySignedProjects.Nonshipping)' != 'true' and '%(DelaySignedProjects.TargetFrameworkVersion)' != 'v4.0' " />
+ <MSBuild Projects="@(DelaySignedProjects)"
+ Properties="TargetFrameworkVersion=v4.0"
+ Targets="Sign"
+ BuildInParallel="$(BuildInParallel)"
+ Condition=" '%(DelaySignedProjects.Nonshipping)' != 'true' " />
+ <MSBuild Projects="@(DelaySignedProjects)"
+ Properties="TargetFrameworkVersion=v4.5"
+ Targets="Sign"
+ BuildInParallel="$(BuildInParallel)"
+ Condition=" '%(DelaySignedProjects.Nonshipping)' != 'true' " />
+ </Target>
+
+ <Target Name="Layout" DependsOnTargets="LayoutDependencies">
<!-- 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="
- $(ProjectRoot)samples\samples.proj;
- $(ProjectRoot)vsi\vsi.proj;
- $(ProjectRoot)vsix\vsix.proj;
- $(ProjectRoot)doc\doc.proj;
- ">
+ <ItemGroup>
+ <ProjectsToBuild Include="
+ $(ProjectRoot)vsix\vsix.proj;
+ $(ProjectRoot)samples\samples.proj;
+ ">
+ <Properties>TargetFrameworkVersion=v4.0</Properties>
+ </ProjectsToBuild>
+
+ <!-- Sandcastle doesn't seem to be able to handle .NET 4.0 dependencies right now. -->
+ <ProjectsToBuild Include="$(ProjectRoot)doc\doc.proj">
+ <Properties>TargetFrameworkVersion=v3.5</Properties>
+ </ProjectsToBuild>
+ </ItemGroup>
+ <MSBuild Projects="@(ProjectsToBuild)"
+ Properties="%(ProjectsToBuild.Properties)"
+ BuildInParallel="$(BuildInParallel)">
<Output TaskParameter="TargetOutputs" ItemName="DropLayoutDependencies"/>
</MSBuild>
<PropertyGroup>
- <DropBinDirectory>$(DropDirectory)Bin\</DropBinDirectory>
+ <DropBin35Directory>$(DropDirectory)Bin-net3.5\</DropBin35Directory>
+ <DropBin40Directory>$(DropDirectory)Bin-net4.0\</DropBin40Directory>
+ <DropBin45Directory>$(DropDirectory)Bin-net4.5\</DropBin45Directory>
<DropLibDirectory>$(DropDirectory)Lib\</DropLibDirectory>
<DropProjectTemplatesDirectory>$(DropDirectory)Project Templates\</DropProjectTemplatesDirectory>
<DropSamplesDirectory>$(DropDirectory)Samples\</DropSamplesDirectory>
@@ -30,7 +71,9 @@
<ProjectTemplatesVsi Include="@(DropLayoutDependencies)" Condition=" '%(DropLayoutDependencies.MSBuildSourceProjectFile)' == '$(ProjectRoot)vsi\vsi.proj' " />
<DropDirectories Include="
$(DropDirectory);
- $(DropBinDirectory);
+ $(DropBin35Directory);
+ $(DropBin40Directory);
+ $(DropBin45Directory);
$(DropLibDirectory);
$(DropProjectTemplatesDirectory);
$(DropSamplesDirectory);
@@ -44,11 +87,27 @@
$(ProjectRoot)CONTRIB.txt;
"
Exclude="$(ProjectRoot)Doc\README.*.html;" />
- <DropBinSourceFiles Include="
- $(ILMergeOutputAssemblyDirectory)$(SignedSubPath)$(ProductName).dll;
- $(ILMergeOutputAssemblyDirectory)$(ProductName).pdb;
- $(ILMergeOutputAssemblyDirectory)$(ProductName).xml;
- $(OutputPath)CodeContracts\$(SignedSubPath)$(ProductName).Contracts.???;
+ <DropBin35SourceFiles Include="
+ $(ILMergeOutputAssembly35Directory)$(SignedSubPath)$(ProductName).dll;
+ $(ILMergeOutputAssembly35Directory)$(ProductName).pdb;
+ $(ILMergeOutputAssembly35Directory)$(ProductName).xml;
+ $(OutputPath35)CodeContracts\$(SignedSubPath)$(ProductName).Contracts.???;
+ $(ProjectRoot)Doc\README.Bin.html;
+ $(ProjectRoot)src\$(ProductName).Core\Configuration\$(ProductName).xsd;
+ " />
+ <DropBin40SourceFiles Include="
+ $(ILMergeOutputAssembly40Directory)$(SignedSubPath)$(ProductName).dll;
+ $(ILMergeOutputAssembly40Directory)$(ProductName).pdb;
+ $(ILMergeOutputAssembly40Directory)$(ProductName).xml;
+ $(OutputPath40)CodeContracts\$(SignedSubPath)$(ProductName).Contracts.???;
+ $(ProjectRoot)Doc\README.Bin.html;
+ $(ProjectRoot)src\$(ProductName).Core\Configuration\$(ProductName).xsd;
+ " />
+ <DropBin45SourceFiles Include="
+ $(ILMergeOutputAssembly45Directory)$(SignedSubPath)$(ProductName).dll;
+ $(ILMergeOutputAssembly45Directory)$(ProductName).pdb;
+ $(ILMergeOutputAssembly45Directory)$(ProductName).xml;
+ $(OutputPath45)CodeContracts\$(SignedSubPath)$(ProductName).Contracts.???;
$(ProjectRoot)Doc\README.Bin.html;
$(ProjectRoot)src\$(ProductName).Core\Configuration\$(ProductName).xsd;
" />
@@ -92,7 +151,9 @@
<DropSpecsSourceFiles Include="$(ProjectRoot)Doc\specs\*.htm*" />
<DropFiles Include="@(DropSourceFiles->'$(DropDirectory)%(RecursiveDir)%(FileName)%(Extension)')"/>
- <DropBinFiles Include="@(DropBinSourceFiles->'$(DropBinDirectory)%(RecursiveDir)%(FileName)%(Extension)')"/>
+ <DropBin35Files Include="@(DropBin35SourceFiles->'$(DropBin35Directory)%(RecursiveDir)%(FileName)%(Extension)')"/>
+ <DropBin40Files Include="@(DropBin40SourceFiles->'$(DropBin40Directory)%(RecursiveDir)%(FileName)%(Extension)')"/>
+ <DropBin45Files Include="@(DropBin45SourceFiles->'$(DropBin45Directory)%(RecursiveDir)%(FileName)%(Extension)')"/>
<DropSatelliteFiles Include="@(DropSatelliteSourceFiles->'$(DropBinDirectory)%(CultureDir)%(FileName)%(Extension)')" />
<DropLibFiles Include="@(DropLibSourceFiles->'$(DropLibDirectory)%(RecursiveDir)%(FileName)%(Extension)')"/>
<DropProjectTemplatesFiles Include="@(DropProjectTemplatesSourceFiles->'$(DropProjectTemplatesDirectory)%(FileName)%(Extension)')" />
@@ -104,7 +165,9 @@
<AllDropSources Include="
@(DropSourceFiles);
- @(DropBinSourceFiles);
+ @(DropBin35SourceFiles);
+ @(DropBin40SourceFiles);
+ @(DropBin45SourceFiles);
@(DropSatelliteSourceFiles);
@(DropLibSourceFiles);
@(DropProjectTemplatesSourceFiles);
@@ -117,7 +180,9 @@
<AllDropTargets Include="
@(DropFiles);
- @(DropBinFiles);
+ @(DropBin35Files);
+ @(DropBin40Files);
+ @(DropBin45Files);
@(DropSatelliteFiles);
@(DropLibFiles);
@(DropProjectTemplatesFiles);
@@ -152,8 +217,7 @@
<SampleSolutionTargets Include="$(DropSamplesDirectory)**\*.sln" />
</ItemGroup>
<FixupShippingToolSamples Projects="@(DropSamplesToolsProjects)"
- RemoveImportsStartingWith="%24(ProjectRoot)tools\"
- AddReferences="Microsoft.Contracts"/>
+ RemoveImportsStartingWith="%24(ProjectRoot)tools\" />
<ChangeProjectReferenceToAssemblyReference Projects="@(SampleProjectTargets)"
ProjectReferences="@(ProjectReferencesToRemove)" References="@(AssemblyReferencesToReplaceWith)" />
<RegexFileReplace
diff --git a/tools/sandcastle.targets b/tools/sandcastle.targets
index c7860b7..526ea46 100644
--- a/tools/sandcastle.targets
+++ b/tools/sandcastle.targets
@@ -39,6 +39,9 @@
<AssemblyFolders Include="$(ProgramFiles)\Reference Assemblies\Microsoft\Framework\v3.0\*.dll" Condition="$(NetfxVer)>2.0"/>
<AssemblyFolders Include="$(WINDIR)\Microsoft.NET\Framework\v3.5\**\*.dll" Condition="$(NetfxVer)>3.0"/>
<AssemblyFolders Include="$(ProgramFiles)\Reference Assemblies\Microsoft\Framework\v3.5\*.dll" Condition="$(NetfxVer)>3.0"/>
+ <AssemblyFolders Include="$(WINDIR)\Microsoft.NET\Framework\v4.0.30319\**\*.dll" Condition="$(NetfxVer)>3.5"/>
+ <AssemblyFolders Include="$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.0\*.dll" Condition="$(NetfxVer)>3.5"/>
+ <AssemblyFolders Include="$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\*.dll" Condition="$(NetfxVer)>3.5"/>
</ItemGroup>
<Target Name="CleanDocumentation">