diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2010-08-07 14:59:32 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2010-08-07 14:59:32 -0700 |
commit | bd391bb514909e64983c4c77ce1eec803dfdd1a8 (patch) | |
tree | bfdbffc10e8eb62ad6c95175c4590ca51cc3b31b /src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs | |
parent | be93a55f3cd2798d4361a262236fd89fd0c098b2 (diff) | |
parent | e7ce41355c38b3125729a62920231f274b7a2100 (diff) | |
download | DotNetOpenAuth-origin/v3.3.zip DotNetOpenAuth-origin/v3.3.tar.gz DotNetOpenAuth-origin/v3.3.tar.bz2 |
Fixed up some more issues with OpenIdOfflineProvider sample.origin/v3.3
Conflicts:
build.proj
lib/DotNetOpenAuth.BuildTasks.dll
lib/DotNetOpenAuth.BuildTasks.pdb
samples/OpenIdOfflineProvider/OpenIdOfflineProvider.csproj
src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs
Diffstat (limited to 'src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs')
-rw-r--r-- | src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs b/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs index 92b0235..fc4c2c6 100644 --- a/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs +++ b/src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs @@ -6,13 +6,12 @@ namespace DotNetOpenAuth.BuildTasks { using System; - using System.Collections.Generic; - using System.Linq; - using System.Text; - using Microsoft.Build.Utilities; - using Microsoft.Build.Framework; + using System.Collections; using System.IO; + using System.Linq; 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 +21,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 +37,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); } |