xamarin-macios/msbuild
Vincent Dondain 9d37f9583f
[msbuild/tests] Ensure our FrameworkList files have correct assemblies (#5367)
One mono bump (6f2ebedb74 (diff-e801bb766cbaad95b50b1487b865f971)) changed our `Xamarin.iOS-FrameworkList.xml.in` (and the tvOS and watchOS ones) and added 2 files

```
<File AssemblyName="System.Buffers" Version="4.0.99.0" />
<File AssemblyName="System.Memory" Version="4.0.99.0" />
```

Around the same time this change was made in the IDE: e355f65870/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetFramework.cs (L260)
That means that VSMac, when creating a new cache file listing the assemblies, won’t scan the assemblies in those directories `/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS`.
This resulted in an incomplete cache file missing most assemblies leading to the IDE showing red checkmarks for known and installed assemblies.

Ideally the FrameworkList files we ship should have a list of all the assemblies with PublicKeyToken and friends (the framework shouldn't be lazy and expect the IDEs to generate that file for us).

This commit ships a test using the same logic as the IDE to populate the FrameworkList file. The test will report any missing assembly and print the xml element that should be added to the file.
E.g: `<File AssemblyName="FSharp.Core" Version="3.98.4.0" PublicKeyToken="b03f5f7f11d50a3a" ProcessorArchitecture="MSIL" />`
Then it's only a matter of copy/pasting that (:

Note: even though this is the msbuild tests for iOS land I'm also scanning the Xamarin.Mac files here for simplicity.

We also scan all assemblies in `/Facades`.

Discussed in slack but adding all the facades assemblies doesn't compromise the project in the IDE (e.g: we still can't add incorrect assemblies) and it's required for some NuGet conflict resolution.
See: ac8fd9e60a
2019-01-11 13:59:22 -05:00
..
Xamarin.Mac.Tasks [msbuild/tests] Ensure our FrameworkList files have correct assemblies (#5367) 2019-01-11 13:59:22 -05:00
Xamarin.Mac.Tasks.Core Merge remote-tracking branch 'origin/master' into msbuild-port 2018-10-11 07:31:58 +02:00
Xamarin.MacDev.Tasks [msbuild] Update xbuild assembly references to msbuild ones 2018-05-22 13:26:55 -04:00
Xamarin.MacDev.Tasks.Core Fixes spacing issues in MSBuild tasks (#5338) 2019-01-03 14:03:08 -05:00
Xamarin.ObjcBinding.Tasks [msbuild] Remove support for XI/Classic. (#976) 2016-10-13 10:47:46 +02:00
Xamarin.Shared Add 'NoBindingEmbedding' style binding project support (#5167) 2018-12-12 09:55:57 -05:00
Xamarin.iOS.Tasks Add 'NoBindingEmbedding' style binding project support (#5167) 2018-12-12 09:55:57 -05:00
Xamarin.iOS.Tasks.Core [msbuild/tests] Ensure our FrameworkList files have correct assemblies (#5367) 2019-01-11 13:59:22 -05:00
tests [msbuild/tests] Ensure our FrameworkList files have correct assemblies (#5367) 2019-01-11 13:59:22 -05:00
.editorconfig Provide .editorconfig support for easier contributor formatting 2016-06-13 00:43:37 -03:00
.gitignore [builds] Improve mono/llvm dependencies. (#1948) 2017-03-31 20:23:38 +02:00
Makefile [msbuild] Find source files in the Xamarin.MacDev repo as well to improve dependency tracking. (#5278) 2018-12-18 07:48:40 +01:00
Xamarin.MacDev.Tasks.sln [msbuild] Added support for building CoreML models (#2714) 2017-11-28 11:16:44 -05:00