diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2010-08-07 14:38:25 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2010-08-07 14:38:25 -0700 |
commit | 23499563a7773abc203dae9d96c1c0b84897159b (patch) | |
tree | 4cc0dabe1c44453a320458cec5a10b8638b8487f /src/DotNetOpenAuth.BuildTasks/FixupShippingToolSamples.cs | |
parent | d40bbbd127eb1a833e06af14f7dc352e272e2c43 (diff) | |
download | DotNetOpenAuth-origin/v3.1.zip DotNetOpenAuth-origin/v3.1.tar.gz DotNetOpenAuth-origin/v3.1.tar.bz2 |
Fixed up some more issues with OpenIdOfflineProvider sample.origin/v3.1
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 | 30 |
1 files changed, 23 insertions, 7 deletions
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); } |