From 12831b3c36604b5d55aa47f5dd6d41bf78d1394e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Fri, 4 Oct 2019 20:26:28 +0200 Subject: [PATCH] Fix version numbers in FrameworkList.xml files (#7161) The existing test only checked that an assembly was mentioned in the file, but not that its version etc matches. Updated the test and fixed the differences. --- .../Xamarin.Mac-Full-FrameworkList.xml.in | 2 +- .../Xamarin.Mac-Mobile-FrameworkList.xml.in | 4 ++-- .../Xamarin.TVOS-FrameworkList.xml.in | 2 +- .../Xamarin.WatchOS-FrameworkList.xml.in | 2 +- .../Xamarin.iOS-FrameworkList.xml.in | 2 +- .../tests/Xamarin.iOS.Tasks.Tests/FrameworkListTest.cs | 10 ++++++++++ 6 files changed, 16 insertions(+), 6 deletions(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac-Full-FrameworkList.xml.in b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac-Full-FrameworkList.xml.in index 17b1b2189a..a97f464247 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac-Full-FrameworkList.xml.in +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac-Full-FrameworkList.xml.in @@ -187,5 +187,5 @@ - + \ No newline at end of file diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac-Mobile-FrameworkList.xml.in b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac-Mobile-FrameworkList.xml.in index a874bd7167..47ddc8075a 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac-Mobile-FrameworkList.xml.in +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac-Mobile-FrameworkList.xml.in @@ -17,7 +17,7 @@ - + @@ -186,5 +186,5 @@ - + \ No newline at end of file diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.TVOS-FrameworkList.xml.in b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.TVOS-FrameworkList.xml.in index 11d2f85801..8d36f0df4c 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.TVOS-FrameworkList.xml.in +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.TVOS-FrameworkList.xml.in @@ -187,5 +187,5 @@ - + diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS-FrameworkList.xml.in b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS-FrameworkList.xml.in index 9f312e1cbe..70834044bd 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS-FrameworkList.xml.in +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS-FrameworkList.xml.in @@ -183,5 +183,5 @@ - + diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS-FrameworkList.xml.in b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS-FrameworkList.xml.in index aacc7ed8cd..dc6926755d 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS-FrameworkList.xml.in +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS-FrameworkList.xml.in @@ -187,5 +187,5 @@ - + diff --git a/msbuild/tests/Xamarin.iOS.Tasks.Tests/FrameworkListTest.cs b/msbuild/tests/Xamarin.iOS.Tasks.Tests/FrameworkListTest.cs index 3f796f6b6e..c1ff5f2dc1 100644 --- a/msbuild/tests/Xamarin.iOS.Tasks.Tests/FrameworkListTest.cs +++ b/msbuild/tests/Xamarin.iOS.Tasks.Tests/FrameworkListTest.cs @@ -35,6 +35,8 @@ namespace Xamarin.iOS.Tasks foreach (var assembly in installedAssemblies) { if (!frameworkListAssemblies.Any (a => a.Name == assembly.Name)) ReportAssemblies (assembly, $"One or more assemblies in the the SDK root folder are not listed in '{frameworkListFile}'. Update the list if an assembly was intentionally added."); + else if (!frameworkListAssemblies.Single (a => a.Name == assembly.Name).Equals (assembly)) + ReportAssemblies (assembly, $"One or more assemblies in the the SDK root folder do not match the entry in '{frameworkListFile}'. Update the list if an assembly was intentionally modified."); } } @@ -158,5 +160,13 @@ namespace Xamarin.iOS.Tasks if (j == -1) j = fn.Length; PublicKeyToken = fn.Substring (i, j - i); } + + public bool Equals (AssemblyInfo other) { + // ignore Culture and InGac for equality since those are not mentioned in the FrameworkList.xml + return other.Name == this.Name && + other.Version == this.Version && + other.PublicKeyToken == this.PublicKeyToken && + other.ProcessorArchitecture == this.ProcessorArchitecture; + } } }