diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/DotNetOpenAuth.automated.props | 1 | ||||
-rw-r--r-- | tools/DotNetOpenAuth.props | 21 | ||||
-rw-r--r-- | tools/DotNetOpenAuth.targets | 20 | ||||
-rw-r--r-- | tools/drop.proj | 104 | ||||
-rw-r--r-- | tools/sandcastle.targets | 3 |
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"> |