diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2011-09-06 09:07:26 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2011-09-06 09:07:26 -0700 |
commit | bbac9933484e5e8d7f338dc290e7c13b9a4a0e04 (patch) | |
tree | aa244157a36dba4e67d771343c567e49fd19620e /src | |
parent | 9c24becedebbe64c56470301718b9c9e0e9c4273 (diff) | |
download | DotNetOpenAuth-bbac9933484e5e8d7f338dc290e7c13b9a4a0e04.zip DotNetOpenAuth-bbac9933484e5e8d7f338dc290e7c13b9a4a0e04.tar.gz DotNetOpenAuth-bbac9933484e5e8d7f338dc290e7c13b9a4a0e04.tar.bz2 |
Fixed up project references in samples and project templates.
Diffstat (limited to 'src')
-rw-r--r-- | src/DotNetOpenAuth.BuildTasks/ChangeProjectReferenceToAssemblyReference.cs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/DotNetOpenAuth.BuildTasks/ChangeProjectReferenceToAssemblyReference.cs b/src/DotNetOpenAuth.BuildTasks/ChangeProjectReferenceToAssemblyReference.cs index fb42ade..a25701d 100644 --- a/src/DotNetOpenAuth.BuildTasks/ChangeProjectReferenceToAssemblyReference.cs +++ b/src/DotNetOpenAuth.BuildTasks/ChangeProjectReferenceToAssemblyReference.cs @@ -26,7 +26,7 @@ public ITaskItem[] ProjectReferences { get; set; } /// <summary> - /// The assembly references to add. + /// The assembly references to replace removed project references with. /// </summary> [Required] public ITaskItem[] References { get; set; } @@ -34,6 +34,9 @@ public override bool Execute() { if (this.ProjectReferences.Length != this.References.Length) { this.Log.LogError("ProjectReferences and References arrays do not have matching lengths."); + this.Log.LogError("ProjectReferences contents ({0} elements): {1}", this.ProjectReferences.Length, String.Join<ITaskItem>(";", this.ProjectReferences)); + this.Log.LogError("References contents ({0} elements): {1}", this.References.Length, String.Join<ITaskItem>(";", this.References)); + return false; } foreach (var project in Projects) { @@ -50,8 +53,12 @@ doc.RemoveItem(matchingReference.Remove); if (matchingReference.Add.ItemSpec != "REMOVE") { this.Log.LogMessage("Adding assembly reference to \"{0}\" to \"{1}\".", matchingReference.Add.ItemSpec, project.ItemSpec); - var newReference = doc.AddNewItem("Reference", Path.GetFileNameWithoutExtension(matchingReference.Add.ItemSpec), true); - newReference.SetMetadata("HintPath", matchingReference.Add.ItemSpec); + + string newItemSpec = Path.GetFileNameWithoutExtension(matchingReference.Add.ItemSpec); + if (!doc.GetEvaluatedItemsByName("Reference").OfType<BuildItem>().Any(bi => String.Equals(bi.Include, newItemSpec, StringComparison.OrdinalIgnoreCase))) { + var newReference = doc.AddNewItem("Reference", newItemSpec, true); + newReference.SetMetadata("HintPath", matchingReference.Add.ItemSpec); + } } } |