diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/Documentation.targets | 8 | ||||
-rw-r--r-- | tools/DotNetOpenAuth.Product.props | 157 | ||||
-rw-r--r-- | tools/DotNetOpenAuth.Versioning.targets | 19 | ||||
-rw-r--r-- | tools/DotNetOpenAuth.automated.targets | 6 | ||||
-rw-r--r-- | tools/DotNetOpenAuth.props | 59 | ||||
-rw-r--r-- | tools/DotNetOpenAuth.targets | 6 | ||||
-rw-r--r-- | tools/NuGet/NuGet.exe | bin | 267264 -> 625664 bytes | |||
-rw-r--r-- | tools/drop.proj | 29 | ||||
-rw-r--r-- | tools/sandcastle.targets | 12 |
9 files changed, 272 insertions, 24 deletions
diff --git a/tools/Documentation.targets b/tools/Documentation.targets index faf1f75..74efe3d 100644 --- a/tools/Documentation.targets +++ b/tools/Documentation.targets @@ -4,10 +4,16 @@ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..\</ProjectRoot> <OutputAssembly>DotNetOpenAuth</OutputAssembly> + <OutputAssemblyFile>$(ILMergeOutputAssembly)</OutputAssemblyFile> <DocOutputPath>$(ProjectRoot)doc\</DocOutputPath> - <DocumentationFile>$(OutputPath)$(OutputAssembly).xml</DocumentationFile> + <DocumentationFile>$(ILMergeOutputXmlDocs)</DocumentationFile> </PropertyGroup> + <ItemGroup> + <MRefDependencies Include="$(ProjectRoot)lib\log4net.dll" /> + <MRefDependencies Include="$(ProjectRoot)lib\net-v3.5\System.Web.Mvc.dll" /> + </ItemGroup> + <Import Project="$(ProjectRoot)Tools\sandcastle.targets" /> </Project> diff --git a/tools/DotNetOpenAuth.Product.props b/tools/DotNetOpenAuth.Product.props new file mode 100644 index 0000000..971ed7b --- /dev/null +++ b/tools/DotNetOpenAuth.Product.props @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFile)</MSBuildAllProjects> + </PropertyGroup> + <PropertyGroup> + <OutputType>Library</OutputType> + <RootNamespace>DotNetOpenAuth</RootNamespace> + <FileAlignment>512</FileAlignment> + <TargetFrameworkProfile /> + <DocumentationFile>$(OutputPath)$(AssemblyName).xml</DocumentationFile> + <StandardCopyright> +Copyright (c) 2011, Andrew Arnott. All rights reserved. +Code licensed under the Ms-PL License: +http://opensource.org/licenses/ms-pl.html + </StandardCopyright> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + + <CodeAnalysisRules /> + <CodeAnalysisRuleSet>Migrated rules for DotNetOpenAuth.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile> + <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression> + + <CodeContractsCustomRewriterAssembly /> + <CodeContractsCustomRewriterClass /> + <CodeContractsRunCodeAnalysis>False</CodeContractsRunCodeAnalysis> + <CodeContractsBuildReferenceAssembly>True</CodeContractsBuildReferenceAssembly> + <CodeContractsNonNullObligations>True</CodeContractsNonNullObligations> + <CodeContractsBoundsObligations>True</CodeContractsBoundsObligations> + <CodeContractsLibPaths /> + <CodeContractsPlatformPath /> + <CodeContractsExtraAnalysisOptions /> + <CodeContractsBaseLineFile /> + <CodeContractsUseBaseLine>False</CodeContractsUseBaseLine> + <CodeContractsRunInBackground>True</CodeContractsRunInBackground> + <CodeContractsShowSquigglies>True</CodeContractsShowSquigglies> + <CodeContractsArithmeticObligations>False</CodeContractsArithmeticObligations> + <CodeContractsRuntimeOnlyPublicSurface>False</CodeContractsRuntimeOnlyPublicSurface> + <CodeContractsRuntimeThrowOnFailure>True</CodeContractsRuntimeThrowOnFailure> + <CodeContractsRuntimeCallSiteRequires>False</CodeContractsRuntimeCallSiteRequires> + <CodeContractsEmitXMLDocs>True</CodeContractsEmitXMLDocs> + <CodeContractsRedundantAssumptions>False</CodeContractsRedundantAssumptions> + <CodeContractsExtraRewriteOptions /> + + <CodeContractsReferenceAssembly Condition=" '$(BuildCodeContractsReferenceAssemblies)' == 'true' ">Build</CodeContractsReferenceAssembly> + <CodeContractsReferenceAssembly Condition=" '$(BuildCodeContractsReferenceAssemblies)' != 'true' ">DoNotBuild</CodeContractsReferenceAssembly> + </PropertyGroup> + + <PropertyGroup Condition=" '$(CodeContractsRewritingEnabled)' != 'true' "> + <CodeContractsAssemblyMode>0</CodeContractsAssemblyMode> + <CodeContractsEnableRuntimeChecking>False</CodeContractsEnableRuntimeChecking> + </PropertyGroup> + + <PropertyGroup Condition=" '$(CodeContractsRewritingEnabled)' == 'true' "> + <CodeContractsAssemblyMode>1</CodeContractsAssemblyMode> + <CodeContractsEnableRuntimeChecking>True</CodeContractsEnableRuntimeChecking> + </PropertyGroup> + + <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <AllowUnsafeBlocks>false</AllowUnsafeBlocks> + <RunCodeAnalysis>false</RunCodeAnalysis> + + <CodeContractsRuntimeCheckingLevel>Full</CodeContractsRuntimeCheckingLevel> + </PropertyGroup> + + <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <DefineConstants>TRACE</DefineConstants> + + <CodeContractsRuntimeCheckingLevel>ReleaseRequires</CodeContractsRuntimeCheckingLevel> + </PropertyGroup> + + <PropertyGroup Condition=" '$(Configuration)' == 'CodeAnalysis' "> + <RunCodeAnalysis>true</RunCodeAnalysis> + </PropertyGroup> + + <ItemGroup> + <DelaySignedAssemblies Include="$(OutputPath)CodeContracts\$(AssemblyName).Contracts.dll" + Condition=" '$(BuildCodeContractsReferenceAssemblies)' == 'true' and '$(AddContractsAssemblyForDelaySigning)' != 'false' "/> + </ItemGroup> + + <ItemGroup> + <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System" /> + <Reference Include="System.Security" /> + <Reference Include="System.configuration" /> + <Reference Include="System.Core"> + <RequiredTargetFramework>3.5</RequiredTargetFramework> + </Reference> + <Reference Include="System.Data" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.IdentityModel"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> + <Reference Include="System.IdentityModel.Selectors"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> + <Reference Include="System.Runtime.Serialization"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> + <Reference Include="System.ServiceModel"> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> + <Reference Include="System.ServiceModel.Web"> + <RequiredTargetFramework>3.5</RequiredTargetFramework> + </Reference> + <Reference Include="System.Web" /> + <Reference Include="System.Web.Abstractions"> + <RequiredTargetFramework>3.5</RequiredTargetFramework> + </Reference> + <Reference Include="System.Web.Extensions"> + <RequiredTargetFramework>3.5</RequiredTargetFramework> + </Reference> + <Reference Include="System.Web.Extensions.Design"> + <RequiredTargetFramework>3.5</RequiredTargetFramework> + </Reference> + <Reference Include="System.Web.Routing"> + <RequiredTargetFramework>3.5</RequiredTargetFramework> + </Reference> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.XML" /> + <Reference Include="System.Xml.Linq"> + <RequiredTargetFramework>3.5</RequiredTargetFramework> + </Reference> + <Reference Include="System.ComponentModel.DataAnnotations"> + <RequiredTargetFramework>3.5</RequiredTargetFramework> + </Reference> + </ItemGroup> + + <ItemGroup Condition=" '$(ClrVersion)' == '4' "> + <Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" /> + <Reference Include="System.Xaml" /> + </ItemGroup> + <ItemGroup Condition=" '$(ClrVersion)' != '4' "> + <!-- MVC 2 can run on CLR 2 (it doesn't require CLR 4) but since MVC 2 apps tend to use type forwarding, + it's a more broadly consumable idea to bind against MVC 1 for the library unless we're building on CLR 4, + which will definitely have MVC 2 available. --> + <Reference Include="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" /> + <Reference Include="System.Web.Mobile" /> + <Reference Include="PresentationFramework"> + <!-- For XamlReader, but we use System.Xaml.dll in .NET 4.0 --> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> + <Reference Include="WindowsBase"> + <!-- ObservableCollection<T>, moved to System.dll in .NET 4.0 --> + <RequiredTargetFramework>3.0</RequiredTargetFramework> + </Reference> + </ItemGroup> +</Project> diff --git a/tools/DotNetOpenAuth.Versioning.targets b/tools/DotNetOpenAuth.Versioning.targets index cbcb76d..7ea18b1 100644 --- a/tools/DotNetOpenAuth.Versioning.targets +++ b/tools/DotNetOpenAuth.Versioning.targets @@ -6,6 +6,9 @@ <PropertyGroup> <VersionCsFile>$(IntermediatePath)\$(AssemblyName).Version.cs</VersionCsFile> <NoWarn>$(NoWarn);1607</NoWarn> + + <!-- PrereleaseVersion can be any alphanumeric identifier with a preceding hyphen, or blank. --> + <PrereleaseVersion>-beta</PrereleaseVersion> </PropertyGroup> <UsingTask AssemblyFile="$(ProjectRoot)lib\MSBuild.Community.Tasks.dll" TaskName="AssemblyInfo"/> @@ -16,15 +19,25 @@ GitRepoRoot="$(ProjectRoot)"> <Output TaskParameter="Version" PropertyName="BuildVersion" /> <Output TaskParameter="SimpleVersion" PropertyName="BuildVersionSimple" /> - <Output TaskParameter="GitCommitId" PropertyName="AssemblyInformationalVersion" /> + <Output TaskParameter="GitCommitId" PropertyName="GitCommitId" /> + <Output TaskParameter="BuildNumber" PropertyName="BuildNumber" /> </GetBuildVersion> <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> + <GitCommitId Condition=" '$(GitCommitId)' == '' ">$(BUILD_VCS_NUMBER)</GitCommitId> + + <SemVerBuildSuffix>+build.$(BuildNumber).$(GitCommitId.Substring(0,10))</SemVerBuildSuffix> + <AssemblyInformationalVersion>$(BuildVersionSimple)$(PrereleaseVersion)$(SemVerBuildSuffix)</AssemblyInformationalVersion> + + <!-- When NuGet supports SemVer 2.0, we can set NuGetPackageVersion to be the same as $(AssemblyInformationalVersion) --> + <NuGetPackageVersion Condition=" '$(PrereleaseVersion)' == '' ">$(BuildVersion)</NuGetPackageVersion> + <NuGetPackageVersion Condition=" '$(PrereleaseVersion)' != '' ">$(BuildVersionSimple)$(PrereleaseVersion)</NuGetPackageVersion> </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) from commit $(GitCommitId)"/> <Message Condition=" '$(AssemblyInformationalVersion)' == '' " Text="Building version $(BuildVersion)"/> + <Message Importance="low" Text="AssemblyInformationalVersion: $(AssemblyInformationalVersion)" /> + <Message Importance="low" Text="NuGetPackageVersion: $(NuGetPackageVersion)" /> </Target> <Target Name="BeforeBuild" DependsOnTargets="GetBuildVersion"> diff --git a/tools/DotNetOpenAuth.automated.targets b/tools/DotNetOpenAuth.automated.targets index 5333b34..d9a5e45 100644 --- a/tools/DotNetOpenAuth.automated.targets +++ b/tools/DotNetOpenAuth.automated.targets @@ -15,7 +15,7 @@ <Delete Files="@(FilesToClean)" /> <RemoveDir Directories="@(DirectoriesToClean)" /> - <MSBuild Projects="@(ProjectsToClean)" Targets="%(ProjectsToClean.Targets)" BuildInParallel="$(BuildInParallel)" /> + <MSBuild Projects="@(ProjectsToClean)" Targets="%(ProjectsToClean.Targets)" BuildInParallel="$(BuildInParallel)" Properties="%(ProjectsToClean.Properties)" /> </Target> <Target Name="_SetDropProperties" DependsOnTargets="GetBuildVersion"> @@ -34,12 +34,12 @@ <Target Name="BuildProduct" DependsOnTargets="SkipVerification"> <MSBuild BuildInParallel="$(BuildInParallel)" - Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).csproj" /> + Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).proj" /> </Target> <Target Name="BuildUnifiedProduct" DependsOnTargets="BuildProduct"> <MSBuild BuildInParallel="$(BuildInParallel)" - Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).csproj" + Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).proj" Targets="BuildUnifiedProduct" /> </Target> </Project> diff --git a/tools/DotNetOpenAuth.props b/tools/DotNetOpenAuth.props index 8364393..1455d68 100644 --- a/tools/DotNetOpenAuth.props +++ b/tools/DotNetOpenAuth.props @@ -15,8 +15,9 @@ <Zip7ToolPath>$(ToolsDir)7-Zip.x86\</Zip7ToolPath> <NuGetToolPath>$(ToolsDir)NuGet\</NuGetToolPath> <ZipFormat Condition=" '$(ZipFormat)' == '' ">.7z</ZipFormat> - <ClrVersion Condition=" '$(TargetFrameworkVersion)' == 'v4.0' ">4</ClrVersion> - <ClrVersion Condition=" '$(TargetFrameworkVersion)' != 'v4.0' ">2</ClrVersion> + <ClrVersion Condition=" '$(TargetFrameworkVersion)' == 'v4.0' or '$(TargetFrameworkVersion)' == 'v4.5' ">4</ClrVersion> + <ClrVersion Condition=" '$(ClrVersion)' == '' ">2</ClrVersion> + <BuildCodeContractsReferenceAssemblies>false</BuildCodeContractsReferenceAssemblies> <SignAssembly>true</SignAssembly> <PublicKeyFile Condition="'$(PublicKeyFile)' == ''">$(ProjectRoot)src\official-build-key.pub</PublicKeyFile> @@ -28,6 +29,9 @@ <ILMergeOutputAssemblyDirectory>$(OutputPath)unified\</ILMergeOutputAssemblyDirectory> <ILMergeOutputAssembly>$(ILMergeOutputAssemblyDirectory)$(ProductName).dll</ILMergeOutputAssembly> + <ILMergeOutputXmlDocs>$(ILMergeOutputAssemblyDirectory)$(ProductName).xml</ILMergeOutputXmlDocs> + <ILMergeOutputContractAssemblyDirectory>$(ILMergeOutputAssemblyDirectory)CodeContracts\</ILMergeOutputContractAssemblyDirectory> + <ILMergeOutputContractAssembly>$(ILMergeOutputContractAssemblyDirectory)$(ProductName).Contracts.dll</ILMergeOutputContractAssembly> <!-- Always use our own toolset's copy of Code Contracts for reliably reproducible builds. Suppress the installed code contracts from importing itself. --> @@ -35,9 +39,54 @@ <ImportCodeContractsFromToolset>true</ImportCodeContractsFromToolset> </PropertyGroup> + <PropertyGroup Condition=" '$(ClrVersion)' == '4' "> + <ILMergeTargetPlatformDirectory>$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0</ILMergeTargetPlatformDirectory> + </PropertyGroup> + <ItemGroup Condition=" '$(ClrVersion)' == '4' "> + <ILMergeSearchDirectories Include="$(ILMergeTargetPlatformDirectory)" /> + </ItemGroup> + + <ItemGroup Condition=" '$(ClrVersion)' != '4' "> + <ILMergeSearchDirectories Include=" + $(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\v3.0; + $(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\v3.5; + " /> + </ItemGroup> + <ItemGroup> - <SignDependsOn Include="Build" /> - <ILMergeInputAssemblies Include="$(OutputPath)$(ProductName).dll" /> + <ProductProjectNames Include=" + DotNetOpenAuth.Core; + DotNetOpenAuth.Core.UI; + Mono.Math; + Org.Mentalis.Security.Cryptography; + DotNetOpenAuth.OpenId; + DotNetOpenAuth.OpenId.UI; + DotNetOpenAuth.OpenId.Provider; + DotNetOpenAuth.OpenId.Provider.UI; + DotNetOpenAuth.OpenId.RelyingParty; + DotNetOpenAuth.OpenId.RelyingParty.UI; + DotNetOpenAuth.OAuth; + DotNetOpenAuth.OAuth.Consumer; + DotNetOpenAuth.OAuth.ServiceProvider; + DotNetOpenAuth.InfoCard; + DotNetOpenAuth.InfoCard.UI; + DotNetOpenAuth.OpenIdInfoCard.UI; + " /> + <ProductProjectNames Include=" + DotNetOpenAuth.OAuth2; + DotNetOpenAuth.OAuth2.AuthorizationServer; + DotNetOpenAuth.OAuth2.Client; + DotNetOpenAuth.OAuth2.Client.UI; + DotNetOpenAuth.OAuth2.ResourceServer; + "> + <MergeIntoUnifiedAssembly Condition=" '$(IncludeOAuth2)' != 'true' ">false</MergeIntoUnifiedAssembly> + </ProductProjectNames> + <ProductProjects Include="@(ProductProjectNames->'$(ProjectRoot)src\%(Identity)\%(Identity).csproj')"/> + + <ProjectReferencesToRemove Include="@(ProductProjectNames->'..\..\src\%(Identity)\%(Identity).csproj')" /> + <AssemblyReferencesToReplaceWith Include="@(ProjectReferencesToRemove->'..\..\Bin\$(ProductName).dll')" /> + + <SignDependsOn Include="Build" Condition=" '$(SuppressBuildTarget)' != 'true' " /> <ILMergeInputAssemblies Condition=" '$(ClrVersion)' == '2' " Include="$(ProjectRoot)lib\Microsoft.Contracts.dll" /> </ItemGroup> @@ -50,4 +99,4 @@ </CheckAdminRights> <Message Text="IsElevated = $(IsElevated)" /> </Target> -</Project>
\ No newline at end of file +</Project> diff --git a/tools/DotNetOpenAuth.targets b/tools/DotNetOpenAuth.targets index 06745c7..3765455 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=" '$(ExcludeDiffieHellman)' == 'true' ">$(DefineConstants);ExcludeDiffieHellman</DefineConstants> <AssemblySearchPaths>$(ProjectRoot)lib;$(AssemblySearchPaths)</AssemblySearchPaths> <AssemblySearchPaths Condition="Exists('$(ProjectRoot)lib\net-$(TargetFrameworkVersion)')">$(ProjectRoot)lib\net-$(TargetFrameworkVersion);$(AssemblySearchPaths)</AssemblySearchPaths> </PropertyGroup> @@ -111,7 +112,8 @@ <Target Name="ResignDelaySignedAssemblies" Outputs="@(ResignedAssembliesOutputs)"> <ItemGroup> <DelaySignedProjects Include=" - $(ProjectRoot)src\dotnetopenauth\dotnetopenauth.csproj; + @(ProductProjects); + $(ProjectRoot)src\dotnetopenauth\dotnetopenauth.proj; $(ProjectRoot)src\dotnetopenauth.test\dotnetopenauth.test.csproj; $(ProjectRoot)samples\openidofflineprovider\openidofflineprovider.csproj; " /> @@ -121,5 +123,7 @@ </MSBuild> </Target> + <Target Name="GetOutputPath" Outputs="$(OutputPath)" /> + <Import Condition="'$(CodeContractsImported)' != 'true' AND ('$(DontImportCodeContracts)' != 'true' or '$(ImportCodeContractsFromToolset)' == 'true')" Project="$(CodeContractsInstallDir)\MsBuild\v4.0\Microsoft.CodeContracts.targets"/> </Project> diff --git a/tools/NuGet/NuGet.exe b/tools/NuGet/NuGet.exe Binary files differindex 907d24d..74d0d57 100644 --- a/tools/NuGet/NuGet.exe +++ b/tools/NuGet/NuGet.exe diff --git a/tools/drop.proj b/tools/drop.proj index 21baae0..69a636c 100644 --- a/tools/drop.proj +++ b/tools/drop.proj @@ -47,10 +47,10 @@ <DropBinSourceFiles Include=" $(ILMergeOutputAssemblyDirectory)$(SignedSubPath)$(ProductName).dll; $(ILMergeOutputAssemblyDirectory)$(ProductName).pdb; - $(OutputPath)$(ProductName).xml; + $(ILMergeOutputAssemblyDirectory)$(ProductName).xml; $(OutputPath)CodeContracts\$(SignedSubPath)$(ProductName).Contracts.???; $(ProjectRoot)Doc\README.Bin.html; - $(ProjectRoot)src\$(ProductName)\Configuration\$(ProductName).xsd; + $(ProjectRoot)src\$(ProductName).Core\Configuration\$(ProductName).xsd; " /> <DropSatelliteSourceFiles Include="$(OutputPath)**\$(SignedSubPath)$(ProductName).resources.dll" /> <DropSatelliteSourceFiles> @@ -74,14 +74,12 @@ $(ProjectRoot)**\Debug\**; $(ProjectRoot)**\StyleCop.Cache; $(ProjectRoot)Samples\_ReSharper.*\**; - $(ProjectRoot)Samples\**\DotNetOpenAuth.???; - $(ProjectRoot)Samples\**\DotNetOpenAuth.resources.???; - $(ProjectRoot)Samples\**\log4net.???; - $(ProjectRoot)Samples\**\PresentationCore.dll; - $(ProjectRoot)Samples\**\System.Printing.dll; + $(ProjectRoot)Samples\**\bin\**; + $(ProjectRoot)Samples\**\obj\**; $(ProjectRoot)Samples\**\*.refresh_; $(ProjectRoot)Samples\*.proj; " /> + <DropSamplesSourceFiles Include="$(ProjectRoot)Samples\**\Bin\*.refresh" /> <!-- Some .refresh files are only applicable to drop builds, so we rename them from *.refresh_ --> <DropSamplesRefreshSourceFiles Include="$(ProjectRoot)Samples\**\*.refresh_" /> <DropSpecsSourceFiles Include="$(ProjectRoot)Doc\specs\*.htm*" /> @@ -137,7 +135,22 @@ RemoveImportsStartingWith="%24(ProjectRoot)tools\" AddReferences="Microsoft.Contracts"/> <ChangeProjectReferenceToAssemblyReference Projects="@(SampleProjectTargets)" - ProjectReferences="..\..\src\$(ProductName)\$(ProductName).csproj" References="..\..\Bin\$(ProductName).dll" /> + ProjectReferences="@(ProjectReferencesToRemove)" References="@(AssemblyReferencesToReplaceWith)" /> + <RegexFileReplace + Files="@(DropSamplesFiles)" + Pattern='<%@ Register Assembly="DotNetOpenAuth[^"]+"' + Replacement='<%@ Register Assembly="DotNetOpenAuth"' + Condition=" '%(Extension)' == '.aspx' " /> + <RegexFileReplace + Files="@(DropSamplesFiles)" + Pattern='xmlns\:(.+)assembly=DotNetOpenAuth([^;"]+)' + Replacement='xmlns:$1assembly=DotNetOpenAuth' + Condition=" '%(Extension)' == '.xaml' " /> + <RegexFileReplace + Files="@(DropSamplesFiles)" + Pattern='type="DotNetOpenAuth([^,]+), DotNetOpenAuth([^"]+)"' + Replacement='type="DotNetOpenAuth$1, DotNetOpenAuth"' + Condition=" '%(Extension)' == '.config' " /> <DowngradeProjects Projects="@(SampleProjectTargets);@(SampleSolutionTargets)" DowngradeMvc2ToMvc1="$(DowngradeMvc2ToMvc1)" diff --git a/tools/sandcastle.targets b/tools/sandcastle.targets index 65511f8..c7860b7 100644 --- a/tools/sandcastle.targets +++ b/tools/sandcastle.targets @@ -11,7 +11,7 @@ <Presentation>$(DxRoot)Presentation\$(PresentationStyle)\</Presentation> <HHC>$(PROGRAMFILES)\Html Help Workshop\hhc.exe</HHC> - <OutputAssemblyFile>$(OutputPath)$(OutputAssembly).dll</OutputAssemblyFile> + <OutputAssemblyFile Condition=" '$(OutputAssemblyFile)' == '' ">$(OutputPath)$(OutputAssembly).dll</OutputAssemblyFile> <DocOutputApiPath>$(DocOutputPath)api\</DocOutputApiPath> <DocIntermediatePath>$(ProjectRoot)obj\Doc\$(Configuration)\</DocIntermediatePath> @@ -114,9 +114,15 @@ <MakeDir Directories="$(DocOutputApiPath)html;$(DocOutputApiPath)media;$(DocOutputApiPath)intellisense"/> </Target> - <Target Name="ReflectionBase" Inputs="$(OutputAssemblyFile)" Outputs="$(ReflectionBaseFile)" + <Target Name="ReflectionBase" Inputs="$(OutputAssemblyFile)" Outputs="$(ReflectionBaseFile)" DependsOnTargets="SetEnvironmentVars;CreateIntermediatePath;ProductionTools"> - <Exec Command='"$(ProductionTools)MRefBuilder.exe" "$(OutputAssemblyFile)" /out:"$(ReflectionBaseFile)"' /> + <ItemGroup> + <MRefDependenciesSwitch Include="@(MRefDependencies->'/dep:"%(Identity)"')" /> + </ItemGroup> + <PropertyGroup> + <MRefDependenciesSwitch>@(MRefDependenciesSwitch,' ')</MRefDependenciesSwitch> + </PropertyGroup> + <Exec Command='"$(ProductionTools)MRefBuilder.exe" "$(OutputAssemblyFile)" /out:"$(ReflectionBaseFile)" $(MRefDependenciesSwitch)' /> </Target> <Target Name="ReflectionData" DependsOnTargets="FxReflection;ReflectionBase" Inputs="$(ReflectionBaseFile)" Outputs="$(ReflectionFile)"> |