summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/DotNetOpenAuth.BuildTasks.dllbin104960 -> 105984 bytes
-rw-r--r--lib/DotNetOpenAuth.BuildTasks.pdbbin257536 -> 257536 bytes
-rw-r--r--projecttemplates/projecttemplates.proj25
-rw-r--r--src/DotNetOpenAuth.BuildTasks/ChangeProjectReferenceToAssemblyReference.cs13
-rw-r--r--tools/DotNetOpenAuth.props3
-rw-r--r--tools/drop.proj2
6 files changed, 28 insertions, 15 deletions
diff --git a/lib/DotNetOpenAuth.BuildTasks.dll b/lib/DotNetOpenAuth.BuildTasks.dll
index 3186ff6..6889add 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 3de249b..4026aa5 100644
--- a/lib/DotNetOpenAuth.BuildTasks.pdb
+++ b/lib/DotNetOpenAuth.BuildTasks.pdb
Binary files differ
diff --git a/projecttemplates/projecttemplates.proj b/projecttemplates/projecttemplates.proj
index d3030bf..3046553 100644
--- a/projecttemplates/projecttemplates.proj
+++ b/projecttemplates/projecttemplates.proj
@@ -20,9 +20,12 @@
$(LayoutDependsOn);
</LayoutDependsOn>
</PropertyGroup>
-
+
<ItemGroup>
<ProjectTemplates Include="**\*.*proj" Exclude="$(MSBuildThisFile)" />
+
+ <ProjectReferencesToRemove Include="..\RelyingPartyDatabase\RelyingPartyDatabase.dbproj"/>
+ <AssemblyReferencesToReplaceWith Include="REMOVE" />
</ItemGroup>
<Target Name="Validate">
@@ -85,9 +88,9 @@
</CopyWithTokenSubstitution>
<ChangeProjectReferenceToAssemblyReference
Projects="@(CopiedProjectFiles)"
- Condition=" '%(Extension)' == '.csproj' "
- ProjectReferences="..\..\src\$(ProductName)\$(ProductName).csproj;..\RelyingPartyDatabase\RelyingPartyDatabase.dbproj"
- References="Lib\$(ProductName).dll;REMOVE" />
+ Condition=" '%(CopiedProjectFiles.Extension)' == '.csproj' "
+ ProjectReferences="@(ProjectReferencesToRemove)"
+ References="@(AssemblyReferencesToReplaceWith)" />
<FixupReferenceHintPaths
Projects="@(CopiedProjectFiles)"
References="@(FixupReferenceAssemblies)"
@@ -133,12 +136,12 @@
<VS2010ProjectTemplateZipFiles Include="@(TopLevelVS2010ProjectTemplates->'%(RootDir)%(Directory)%(FileName).zip')" />
</ItemGroup>
- <Copy
- SourceFiles="@(ProjectTemplatesSource)"
- DestinationFiles="@(ProjectTemplatesLayout)"
+ <Copy
+ SourceFiles="@(ProjectTemplatesSource)"
+ DestinationFiles="@(ProjectTemplatesLayout)"
SkipUnchangedFiles="true" />
- <CopyWithTokenSubstitution
- SourceFiles="@(TemplateProjectItemsForTransformSource)"
+ <CopyWithTokenSubstitution
+ SourceFiles="@(TemplateProjectItemsForTransformSource)"
DestinationFiles="@(TemplateProjectItemsForTransformLayout)" />
<ItemGroup>
@@ -190,7 +193,7 @@
ZipLevel="$(ZipLevel)"
/>
</Target>
-
+
<Target Name="Layout2008" DependsOnTargets="Layout">
<ItemGroup>
<ProjectTemplates2008Source Include="$(ProjectTemplatesLayoutPath)**" Exclude="$(ProjectTemplatesLayoutPath)*.zip" />
@@ -214,7 +217,7 @@
InPlaceDowngrade="true"
/>
- <Purge Directories="$(ProjectTemplates2008LayoutPath)"
+ <Purge Directories="$(ProjectTemplates2008LayoutPath)"
IntendedFiles="@(ProjectTemplates2008Layout);@(VS2008ProjectTemplateZipFiles)" />
</Target>
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);
+ }
}
}
diff --git a/tools/DotNetOpenAuth.props b/tools/DotNetOpenAuth.props
index 049d1cc..33ba4c1 100644
--- a/tools/DotNetOpenAuth.props
+++ b/tools/DotNetOpenAuth.props
@@ -64,6 +64,9 @@
" />
<ProductProjects Include="@(ProductProjectNames->'$(ProjectRoot)src\%(Identity)\%(Identity).csproj')"/>
+ <ProjectReferencesToRemove Include="@(ProductProjectNames->'..\..\src\%(Identity)\%(Identity).csproj')" />
+ <AssemblyReferencesToReplaceWith Include="@(ProjectReferencesToRemove->'..\..\Bin\$(ProductName).dll')" />
+
<SignDependsOn Include="Build" Condition=" '$(SuppressBuildTarget)' != 'true' " />
<ILMergeInputAssemblies Condition=" '$(ClrVersion)' == '2' "
Include="$(ProjectRoot)lib\Microsoft.Contracts.dll" />
diff --git a/tools/drop.proj b/tools/drop.proj
index 8b34461..4883929 100644
--- a/tools/drop.proj
+++ b/tools/drop.proj
@@ -137,7 +137,7 @@
RemoveImportsStartingWith="%24(ProjectRoot)tools\"
AddReferences="Microsoft.Contracts"/>
<ChangeProjectReferenceToAssemblyReference Projects="@(SampleProjectTargets)"
- ProjectReferences="..\..\src\$(ProductName)\$(ProductName).csproj" References="..\..\Bin\$(ProductName).dll" />
+ ProjectReferences="@(ProjectReferencesToRemove)" References="@(AssemblyReferencesToReplaceWith)" />
<DowngradeProjects
Projects="@(SampleProjectTargets);@(SampleSolutionTargets)"
DowngradeMvc2ToMvc1="$(DowngradeMvc2ToMvc1)"