diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2009-08-05 22:06:52 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2009-08-05 22:06:52 -0700 |
commit | a1513732aff8dc75c026bef440083bcaafc73b60 (patch) | |
tree | c59aa6327aa410e9e8c350ee8cb371b5cffb957f | |
parent | 2847bf5a7d5103ba8694f6b0347047273646e4ee (diff) | |
parent | 0aedb0da7764bc42761384c43404be15063aad40 (diff) | |
download | DotNetOpenAuth-a1513732aff8dc75c026bef440083bcaafc73b60.zip DotNetOpenAuth-a1513732aff8dc75c026bef440083bcaafc73b60.tar.gz DotNetOpenAuth-a1513732aff8dc75c026bef440083bcaafc73b60.tar.bz2 |
Merge branch 'v3.0' into v3.1
Conflicts:
build.proj
-rw-r--r-- | build.proj | 7 | ||||
-rw-r--r-- | doc/api/Web.config | 116 | ||||
-rw-r--r-- | doc/api/default.aspx | 35 | ||||
-rw-r--r-- | lib/DotNetOpenAuth.BuildTasks.dll | bin | 0 -> 21504 bytes | |||
-rw-r--r-- | lib/DotNetOpenAuth.BuildTasks.pdb | bin | 0 -> 60928 bytes | |||
-rw-r--r-- | lib/DotNetOpenAuth.BuildTasks.targets | 19 | ||||
-rw-r--r-- | lib/DotNetOpenId.BuildTasks.dll | bin | 9216 -> 0 bytes | |||
-rw-r--r-- | lib/DotNetOpenId.BuildTasks.pdb | bin | 24064 -> 0 bytes | |||
-rw-r--r-- | lib/DotNetOpenId.BuildTasks.targets | 12 | ||||
-rw-r--r-- | samples/OpenIdProviderWebForms/Web.config | 5 | ||||
-rw-r--r-- | samples/OpenIdRelyingPartyMvc/Controllers/UserController.cs | 3 | ||||
-rw-r--r-- | samples/OpenIdRelyingPartyWebForms/Web.config | 5 | ||||
-rw-r--r-- | src/DotNetOpenAuth/OpenId/DiffieHellmanUtilities.cs | 4 | ||||
-rw-r--r-- | src/DotNetOpenAuth/OpenId/HmacShaAssociation.cs | 4 | ||||
-rw-r--r-- | tools/DotNetOpenAuth.Versioning.targets | 2 | ||||
-rw-r--r-- | tools/Publish.targets | 122 | ||||
-rw-r--r-- | tools/Sandcastle/Presentation/vs2005/Content/feedBack_content.xml | 2 |
17 files changed, 311 insertions, 25 deletions
@@ -7,6 +7,7 @@ <Import Project="$(ProjectRoot)\tools\$(ProductName).Versioning.targets"/> <Import Project="$(ProjectRoot)\tools\Documentation.targets"/> + <Import Project="$(ProjectRoot)\tools\Publish.targets"/> <UsingTask AssemblyFile="$(ProjectRoot)\lib\MSBuild.Community.Tasks.dll" TaskName="Zip"/> <ItemGroup> @@ -14,7 +15,7 @@ <SampleSites Include="OAuthConsumer;OAuthServiceProvider;InfoCardRelyingParty" /> </ItemGroup> - <Target Name="Clean" DependsOnTargets="CleanDocumentation"> + <Target Name="Clean" DependsOnTargets="CleanDocumentation;UnpublishSamples;UnpublishDocumentation"> <MSBuild Projects="$(SolutionPath)" Targets="Clean" /> <ItemGroup> <DirtyDirectories Include=" @@ -237,7 +238,9 @@ <Zip Files="@(AllDropTargets)" ZipFileName="$(DropZip)" WorkingDirectory="$(ProjectRoot)\drops" /> </Target> - <Target Name="Nightly" DependsOnTargets="Drop;Tools"> + <!-- Although Nightly includes publishing samples and docs, those targets are conditioned for + running only when the SampleWebRoot and DocWebRoot properties are set, respectively. --> + <Target Name="Nightly" DependsOnTargets="Drop;Tools;PublishSamples;PublishDocumentation"> </Target> diff --git a/doc/api/Web.config b/doc/api/Web.config new file mode 100644 index 0000000..1307a69 --- /dev/null +++ b/doc/api/Web.config @@ -0,0 +1,116 @@ +<?xml version="1.0"?> +<!-- + Note: As an alternative to hand editing this file you can use the + web admin tool to configure settings for your application. Use + the Website->Asp.Net Configuration option in Visual Studio. + A full list of settings and comments can be found in + machine.config.comments usually located in + \Windows\Microsoft.Net\Framework\v2.x\Config +--> +<configuration> + <configSections> + <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> + <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> + <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> + <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> + <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/> + <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> + <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> + <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> + </sectionGroup> + </sectionGroup> + </sectionGroup> + </configSections> + <appSettings/> + <connectionStrings/> + <system.web> + <!-- + Set compilation debug="true" to insert debugging + symbols into the compiled page. Because this + affects performance, set this value to true only + during development. + --> + <compilation debug="false"> + <assemblies> + <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> + <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> + <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> + </assemblies> + </compilation> + <!-- + The <authentication> section enables configuration + of the security authentication mode used by + ASP.NET to identify an incoming user. + --> + <authentication mode="Windows"/> + <!-- + The <customErrors> section enables configuration + of what to do if/when an unhandled error occurs + during the execution of a request. Specifically, + it enables developers to configure html error pages + to be displayed in place of a error stack trace. + + <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> + <error statusCode="403" redirect="NoAccess.htm" /> + <error statusCode="404" redirect="FileNotFound.htm" /> + </customErrors> + --> + <pages> + <controls> + <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + </controls> + </pages> + <httpHandlers> + <remove verb="*" path="*.asmx"/> + <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + </httpHandlers> + <httpModules> + <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + </httpModules> + </system.web> + <system.codedom> + <compilers> + <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> + <providerOption name="CompilerVersion" value="v3.5"/> + <providerOption name="WarnAsError" value="false"/> + </compiler> + <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> + <providerOption name="CompilerVersion" value="v3.5"/> + <providerOption name="OptionInfer" value="true"/> + <providerOption name="WarnAsError" value="false"/> + </compiler> + </compilers> + </system.codedom> + <system.webServer> + <validation validateIntegratedModeConfiguration="false"/> + <modules> + <remove name="ScriptModule"/> + <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + </modules> + <handlers> + <remove name="WebServiceHandlerFactory-Integrated"/> + <remove name="ScriptHandlerFactory"/> + <remove name="ScriptHandlerFactoryAppServices"/> + <remove name="ScriptResource"/> + <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + </handlers> + </system.webServer> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/> + <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/> + <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration> diff --git a/doc/api/default.aspx b/doc/api/default.aspx new file mode 100644 index 0000000..19484cd --- /dev/null +++ b/doc/api/default.aspx @@ -0,0 +1,35 @@ +<%@ Page Language="C#" %> + +<%@ Import Namespace="System.IO" %> +<%@ Import Namespace="System.Linq" %> + +<script runat="server"> + protected virtual void Page_Load(object sender, EventArgs e) { + string apiPath = Path.GetDirectoryName(Request.PhysicalPath); + string htmlPath = Path.Combine(apiPath, "html"); + var namespaceFiles = Directory.GetFiles(htmlPath, "N_*.htm*").Select(ns => Path.GetFileName(ns)); + NamespaceRepeater.DataSource = namespaceFiles.Select(ns => new { + Href = "html/" + ns, + Title = Path.GetFileNameWithoutExtension(ns).Substring(2).Replace("_", "."), + }); + NamespaceRepeater.DataBind(); + } +</script> + +<html> +<head> + <title>DotNetOpenAuth API documentation</title> +</head> +<body> + <h1>DotNetOpenAuth API documentation</h1> + <h2>Documentation by namespace</h2> + <ul> + <asp:Repeater runat="server" ID="NamespaceRepeater"> + <ItemTemplate> + <li><a href="<%# Eval("Href") %>"> + <%# Eval("Title") %></a></li> + </ItemTemplate> + </asp:Repeater> + </ul> +</body> +</html> diff --git a/lib/DotNetOpenAuth.BuildTasks.dll b/lib/DotNetOpenAuth.BuildTasks.dll Binary files differnew file mode 100644 index 0000000..d11865f --- /dev/null +++ b/lib/DotNetOpenAuth.BuildTasks.dll diff --git a/lib/DotNetOpenAuth.BuildTasks.pdb b/lib/DotNetOpenAuth.BuildTasks.pdb Binary files differnew file mode 100644 index 0000000..dda205e --- /dev/null +++ b/lib/DotNetOpenAuth.BuildTasks.pdb diff --git a/lib/DotNetOpenAuth.BuildTasks.targets b/lib/DotNetOpenAuth.BuildTasks.targets new file mode 100644 index 0000000..024b43a --- /dev/null +++ b/lib/DotNetOpenAuth.BuildTasks.targets @@ -0,0 +1,19 @@ +<?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> + + <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="GetBuildVersion" /> + <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="SetEnvironmentVariable" /> + <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="ChangeProjectReferenceToAssemblyReference" /> + <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="CompareFiles" /> + <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="ReSignDelaySignedAssemblies" /> + <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="SignatureVerification" /> + <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="CheckAdminRights" /> + <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="CreateWebApplication" /> + <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="DeleteWebApplication" /> + <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="Trim" /> + <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.dll" TaskName="FilterItems" /> + +</Project> diff --git a/lib/DotNetOpenId.BuildTasks.dll b/lib/DotNetOpenId.BuildTasks.dll Binary files differdeleted file mode 100644 index 07b7673..0000000 --- a/lib/DotNetOpenId.BuildTasks.dll +++ /dev/null diff --git a/lib/DotNetOpenId.BuildTasks.pdb b/lib/DotNetOpenId.BuildTasks.pdb Binary files differdeleted file mode 100644 index 10611c2..0000000 --- a/lib/DotNetOpenId.BuildTasks.pdb +++ /dev/null diff --git a/lib/DotNetOpenId.BuildTasks.targets b/lib/DotNetOpenId.BuildTasks.targets deleted file mode 100644 index a0adb00..0000000 --- a/lib/DotNetOpenId.BuildTasks.targets +++ /dev/null @@ -1,12 +0,0 @@ -<?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> - - <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenId.BuildTasks.dll" TaskName="GetBuildVersion" /> - <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenId.BuildTasks.dll" TaskName="SetEnvironmentVariable" /> - <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenId.BuildTasks.dll" TaskName="ChangeProjectReferenceToAssemblyReference" /> - <UsingTask AssemblyFile="$(ProjectRoot)\lib\DotNetOpenId.BuildTasks.dll" TaskName="CompareFiles" /> - -</Project>
\ No newline at end of file diff --git a/samples/OpenIdProviderWebForms/Web.config b/samples/OpenIdProviderWebForms/Web.config index 745cb2c..a6cd2eb 100644 --- a/samples/OpenIdProviderWebForms/Web.config +++ b/samples/OpenIdProviderWebForms/Web.config @@ -91,9 +91,10 @@ <!-- Trust level discussion: Full: everything works High: TRACE compilation symbol must NOT be defined - Medium/Low: doesn't work on default machine.config, because WebPermission.Connect is denied. + Medium: doesn't work unless originUrl=".*" or WebPermission.Connect is extended. + Low: doesn't work because WebPermission.Connect is denied. --> - <trust level="High" originUrl=""/> + <trust level="Medium" originUrl=".*"/> <pages> <controls> <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> diff --git a/samples/OpenIdRelyingPartyMvc/Controllers/UserController.cs b/samples/OpenIdRelyingPartyMvc/Controllers/UserController.cs index 784533b..fd22389 100644 --- a/samples/OpenIdRelyingPartyMvc/Controllers/UserController.cs +++ b/samples/OpenIdRelyingPartyMvc/Controllers/UserController.cs @@ -10,6 +10,8 @@ using DotNetOpenAuth.OpenId.RelyingParty; public class UserController : Controller { + private static OpenIdRelyingParty openid = new OpenIdRelyingParty(); + public ActionResult Index() { if (!User.Identity.IsAuthenticated) { Response.Redirect("/User/Login?ReturnUrl=Index"); @@ -34,7 +36,6 @@ [ValidateInput(false)] public ActionResult Authenticate(string returnUrl) { - var openid = new OpenIdRelyingParty(); var response = openid.GetResponse(); if (response == null) { // Stage 2: user submitting Identifier diff --git a/samples/OpenIdRelyingPartyWebForms/Web.config b/samples/OpenIdRelyingPartyWebForms/Web.config index 4408ebf..7983e21 100644 --- a/samples/OpenIdRelyingPartyWebForms/Web.config +++ b/samples/OpenIdRelyingPartyWebForms/Web.config @@ -62,9 +62,10 @@ <!-- Trust level discussion: Full: everything works High: TRACE compilation symbol must NOT be defined - Medium/Low: doesn't work on default machine.config, because WebPermission.Connect is denied. + Medium: doesn't work unless originUrl=".*" or WebPermission.Connect is extended. + Low: doesn't work because WebPermission.Connect is denied. --> - <trust level="High" originUrl=""/> + <trust level="Medium" originUrl=".*"/> </system.web> <!-- log4net is a 3rd party (free) logger library that dotnetopenid will use if present but does not require. --> diff --git a/src/DotNetOpenAuth/OpenId/DiffieHellmanUtilities.cs b/src/DotNetOpenAuth/OpenId/DiffieHellmanUtilities.cs index a93c824..2507f38 100644 --- a/src/DotNetOpenAuth/OpenId/DiffieHellmanUtilities.cs +++ b/src/DotNetOpenAuth/OpenId/DiffieHellmanUtilities.cs @@ -21,12 +21,12 @@ namespace DotNetOpenAuth.OpenId { /// <summary> /// An array of known Diffie Hellman sessions, sorted by decreasing hash size. /// </summary> - private static DHSha[] diffieHellmanSessionTypes = { + private static DHSha[] diffieHellmanSessionTypes = new List<DHSha> { new DHSha(new SHA512Managed(), protocol => protocol.Args.SessionType.DH_SHA512), new DHSha(new SHA384Managed(), protocol => protocol.Args.SessionType.DH_SHA384), new DHSha(new SHA256Managed(), protocol => protocol.Args.SessionType.DH_SHA256), new DHSha(new SHA1Managed(), protocol => protocol.Args.SessionType.DH_SHA1), - }; + }.ToArray(); /// <summary> /// Finds the hashing algorithm to use given an openid.session_type value. diff --git a/src/DotNetOpenAuth/OpenId/HmacShaAssociation.cs b/src/DotNetOpenAuth/OpenId/HmacShaAssociation.cs index 16d8f74..ca46b5b 100644 --- a/src/DotNetOpenAuth/OpenId/HmacShaAssociation.cs +++ b/src/DotNetOpenAuth/OpenId/HmacShaAssociation.cs @@ -29,7 +29,7 @@ namespace DotNetOpenAuth.OpenId { /// <summary> /// A list of HMAC-SHA algorithms in order of decreasing bit lengths. /// </summary> - private static HmacSha[] hmacShaAssociationTypes = { + private static HmacSha[] hmacShaAssociationTypes = new List<HmacSha> { new HmacSha { CreateHasher = secretKey => new HMACSHA512(secretKey), GetAssociationType = protocol => protocol.Args.SignatureAlgorithm.HMAC_SHA512, @@ -50,7 +50,7 @@ namespace DotNetOpenAuth.OpenId { GetAssociationType = protocol => protocol.Args.SignatureAlgorithm.HMAC_SHA1, BaseHashAlgorithm = new SHA1Managed(), }, - }; + }.ToArray(); /// <summary> /// The specific variety of HMAC-SHA this association is based on (whether it be HMAC-SHA1, HMAC-SHA256, etc.) diff --git a/tools/DotNetOpenAuth.Versioning.targets b/tools/DotNetOpenAuth.Versioning.targets index 20ede90..f4b12b0 100644 --- a/tools/DotNetOpenAuth.Versioning.targets +++ b/tools/DotNetOpenAuth.Versioning.targets @@ -7,7 +7,7 @@ <VersionCsFile>$(ProjectRoot)\obj\$(Configuration)\$(AssemblyName).Version.cs</VersionCsFile> </PropertyGroup> - <Import Project="$(ProjectRoot)\lib\DotNetOpenId.BuildTasks.targets" /> + <Import Project="$(ProjectRoot)\lib\DotNetOpenAuth.BuildTasks.targets" /> <UsingTask AssemblyFile="$(ProjectRoot)\lib\MSBuild.Community.Tasks.dll" TaskName="AssemblyInfo"/> <Target Name="GetBuildVersion"> diff --git a/tools/Publish.targets b/tools/Publish.targets new file mode 100644 index 0000000..036e751 --- /dev/null +++ b/tools/Publish.targets @@ -0,0 +1,122 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <!-- Properties that must be set for these targets to function: + $(BranchName): The name of the branch being built. Used to determine the web subdirectory for publishing. + + For creating web sites: + $(PublishSamplesWebSiteName): The name of the web site under which the sample web applications will be created/deleted. + $(PublishDocsWebSiteName): The name of the web site under which the documentation web applications will be created/deleted. + + For creating or publishing to web sites: + $(SampleWebRoot): the full physical path to where samples should be copied to, excluding $(BranchName) + $(DocWebRoot): the full physical path to where documentation should be copied to, excluding $(BranchName) + --> + + <Target Name="PrepareForIIS"> + <Error Text="The BranchName property must be set." Condition=" '$(BranchName)' == '' " /> + + <PropertyGroup> + <PublishSamplesWebSiteVirtualPath>/$(BranchName)</PublishSamplesWebSiteVirtualPath> + <PublishDocsWebSiteVirtualPath>/$(BranchName)</PublishDocsWebSiteVirtualPath> + </PropertyGroup> + </Target> + + <Target Name="PrepareForPublishSamples" + Condition=" '$(SampleWebRoot)' != '' " + DependsOnTargets="BuildSamples"> + <Error Text="The BranchName property must be set." Condition=" '$(BranchName)' == '' " /> + + <ItemGroup> + <_SampleWebConfigs Include="$(ProjectRoot)\samples\*\web.config" /> + <PublishableWebSamples Include="@(_SampleWebConfigs->'%(RootDir)%(Directory)')" /> + <SampleSources Include="$(ProjectRoot)\samples\**\*" /> + <SampleSources> + <PublishedLocation>$(SampleWebRoot)\$(BranchName)\%(RecursiveDir)%(Filename)%(Extension)</PublishedLocation> + </SampleSources> + </ItemGroup> + + <!-- Trim the trailing slash on the web sample paths so we can just get the leaf directory name. --> + <Trim + Inputs="@(PublishableWebSamples)" + EndCharacters="\"> + <Output TaskParameter="Outputs" ItemName="_PublishableWebSamplesNoTrailingSlash" /> + </Trim> + + <ItemGroup> + <PublishableWebSamplesVirtualPaths Include="@(_PublishableWebSamplesNoTrailingSlash->'$(PublishSamplesWebSiteVirtualPath)/%(Filename)')" /> + <PublishableWebSamplesPhysicalPaths Include="@(_PublishableWebSamplesNoTrailingSlash->'$(SampleWebRoot)\$(BranchName)\%(Filename)')" /> + </ItemGroup> + + <FilterItems + InputItems="@(SampleSources)" + StartsWithAny="@(PublishableWebSamples)"> + <Output TaskParameter="FilteredItems" ItemName="PublishableWebSampleSources" /> + </FilterItems> + + <ItemGroup> + <PublishableWebSampleTargets Include="@(PublishableWebSampleSources->'%(PublishedLocation)')" /> + </ItemGroup> + </Target> + + <Target Name="PublishSamples" + DependsOnTargets="PrepareForPublishSamples" + Inputs="@(PublishableWebSampleSources)" + Outputs="@(PublishableWebSampleTargets)" + Condition=" '$(SampleWebRoot)' != '' "> + <RemoveDir Directories="$(SampleWebRoot)\$(BranchName)" /> + <MakeDir Directories="$(SampleWebRoot)\$(BranchName)" /> + <Copy SourceFiles="@(PublishableWebSampleSources)" DestinationFiles="@(PublishableWebSampleTargets)" SkipUnchangedFiles="true" /> + </Target> + + <Target Name="PrepareForPublishDocumentation" DependsOnTargets="Documentation"> + <ItemGroup> + <DocSources Include="$(ProjectRoot)\doc\api\**\*" /> + <DocTargets Include="@(DocSources->'$(DocWebRoot)\$(BranchName)\%(RecursiveDir)%(Filename)%(Extension)')" /> + </ItemGroup> + </Target> + + <Target Name="PublishDocumentation" + DependsOnTargets="PrepareForPublishDocumentation" + Inputs="@(DocSources)" + Outputs="@(DocTargets)" + Condition=" '$(DocWebRoot)' != '' "> + <RemoveDir Directories="$(DocWebRoot)\$(BranchName)" /> + <MakeDir Directories="$(DocWebRoot)\$(BranchName)" /> + <Copy SourceFiles="@(DocSources)" DestinationFiles="@(DocTargets)" SkipUnchangedFiles="true" /> + </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)' == '' " /> + <CreateWebApplication + WebSiteName="$(PublishSamplesWebSiteName)" + PhysicalPaths="@(PublishableWebSamplesPhysicalPaths)" + VirtualPaths="@(PublishableWebSamplesVirtualPaths)" + /> + </Target> + + <Target Name="DeleteSampleSitesOnIis" DependsOnTargets="PrepareForIIS"> + <Error Text="The PublishSamplesWebSiteName property must be set." Condition=" '$(PublishSamplesWebSiteName)' == '' "/> + <DeleteWebApplication + WebSiteName="$(PublishSamplesWebSiteName)" + VirtualPaths="@(PublishableWebSamplesVirtualPaths)" + /> + </Target> + + <Target Name="CreateDocumentationSiteOnIis" DependsOnTargets="PrepareForIIS"> + <Error Text="The PublishDocsWebSiteName property must be set." Condition=" '$(PublishDocsWebSiteName)' == '' "/> + <Error Text="The DocWebRoot property must be set." Condition=" '$(DocWebRoot)' == '' " /> + <CreateWebApplication + WebSiteName="$(PublishDocsWebSiteName)" + PhysicalPaths="$(DocWebRoot)\$(BranchName)" + VirtualPaths="$(PublishDocsWebSiteVirtualPath)" + /> + </Target> + + <Target Name="DeleteDocumentationSiteOnIis" DependsOnTargets="PrepareForIIS"> + <Error Text="The PublishDocsWebSiteName property must be set." Condition=" '$(PublishDocsWebSiteName)' == '' "/> + <DeleteWebApplication + WebSiteName="$(PublishDocsWebSiteName)" + VirtualPaths="$(PublishDocsWebSiteVirtualPath)" + /> + </Target> +</Project> diff --git a/tools/Sandcastle/Presentation/vs2005/Content/feedBack_content.xml b/tools/Sandcastle/Presentation/vs2005/Content/feedBack_content.xml index 48cfd43..6d3a068 100644 --- a/tools/Sandcastle/Presentation/vs2005/Content/feedBack_content.xml +++ b/tools/Sandcastle/Presentation/vs2005/Content/feedBack_content.xml @@ -1,6 +1,6 @@ <content xml:space="preserve"> - <item id="fb_alias">DotNetOAuth@googlegroups.com</item> + <item id="fb_alias">DotNetOpenId@googlegroups.com</item> <item id="fb_product"></item> <item id="fb_deliverable"></item> |