summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build.proj3
-rw-r--r--lib/DotNetOpenAuth.BuildTasks.dllbin58880 -> 59904 bytes
-rw-r--r--lib/DotNetOpenAuth.BuildTasks.pdbbin151040 -> 155136 bytes
-rw-r--r--samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj2
-rw-r--r--src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs30
5 files changed, 27 insertions, 8 deletions
diff --git a/build.proj b/build.proj
index fe3628c..a3f7801 100644
--- a/build.proj
+++ b/build.proj
@@ -227,7 +227,8 @@
<SampleProjectTargets Include="$(DropSamplesDirectory)\**\*.csproj" />
</ItemGroup>
<FixupShippingToolSamples Projects="@(DropSamplesToolsProjects)"
- RemoveImportsStartingWith="..\"/>
+ RemoveImportsStartingWith="%24(ProjectRoot)tools\;..\"
+ AddReferences="Microsoft.Contracts"/>
<ChangeProjectReferenceToAssemblyReference Projects="@(SampleProjectTargets)"
ProjectReference="..\..\src\$(ProductName)\$(ProductName).csproj" Reference="..\..\Bin\$(ProductName).dll" />
</Target>
diff --git a/lib/DotNetOpenAuth.BuildTasks.dll b/lib/DotNetOpenAuth.BuildTasks.dll
index 55e62bc..3db458c 100644
--- a/lib/DotNetOpenAuth.BuildTasks.dll
+++ b/lib/DotNetOpenAuth.BuildTasks.dll
Binary files differ
diff --git a/lib/DotNetOpenAuth.BuildTasks.pdb b/lib/DotNetOpenAuth.BuildTasks.pdb
index 05f5cb1..24a5292 100644
--- a/lib/DotNetOpenAuth.BuildTasks.pdb
+++ b/lib/DotNetOpenAuth.BuildTasks.pdb
Binary files differ
diff --git a/samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj b/samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj
index bb307a4..be1e9c3 100644
--- a/samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj
+++ b/samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj
@@ -15,6 +15,8 @@
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<UICulture>en-US</UICulture>
+ <OutputPath Condition=" '$(OutputPath)' == '' ">bin\$(Configuration)\</OutputPath>
+ <TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v3.5</TargetFrameworkVersion>
<ApplicationIcon>openid.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
diff --git a/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs b/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs
index 92b0235..6c71740 100644
--- a/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs
+++ b/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs
@@ -6,13 +6,14 @@
namespace DotNetOpenAuth.BuildTasks {
using System;
+ using System.Collections;
using System.Collections.Generic;
+ using System.IO;
using System.Linq;
using System.Text;
- using Microsoft.Build.Utilities;
- using Microsoft.Build.Framework;
- using System.IO;
using Microsoft.Build.BuildEngine;
+ using Microsoft.Build.Framework;
+ using Microsoft.Build.Utilities;
/// <summary>
/// Removes imports that only apply when a shipping tool sample builds as part of
@@ -22,6 +23,10 @@ namespace DotNetOpenAuth.BuildTasks {
[Required]
public ITaskItem[] Projects { get; set; }
+ public string[] RemoveImportsStartingWith { get; set; }
+
+ public ITaskItem[] AddReferences { get; set; }
+
/// <summary>
/// Executes this instance.
/// </summary>
@@ -34,10 +39,21 @@ namespace DotNetOpenAuth.BuildTasks {
Uri projectUri = new Uri(projectTaskItem.GetMetadata("FullPath"));
project.Load(projectTaskItem.ItemSpec, ProjectLoadSettings.IgnoreMissingImports);
- project.Imports.Cast<Import>()
- .Where(import => import.ProjectPath.StartsWith(@"..\..\tools\", StringComparison.OrdinalIgnoreCase))
- .ToList()
- .ForEach(import => project.Imports.RemoveImport(import));
+ if (this.RemoveImportsStartingWith != null && this.RemoveImportsStartingWith.Length > 0) {
+ project.Imports.Cast<Import>()
+ .Where(import => this.RemoveImportsStartingWith.Any(start => import.ProjectPath.StartsWith(start, StringComparison.OrdinalIgnoreCase)))
+ .ToList()
+ .ForEach(import => project.Imports.RemoveImport(import));
+ }
+
+ if (this.AddReferences != null) {
+ foreach (var reference in this.AddReferences) {
+ BuildItem item = project.AddNewItem("Reference", reference.ItemSpec);
+ foreach (DictionaryEntry metadata in reference.CloneCustomMetadata()) {
+ item.SetMetadata((string)metadata.Key, (string)metadata.Value);
+ }
+ }
+ }
project.Save(projectTaskItem.ItemSpec);
}