From 24746c041e4925a94f2c9cbca38b5f80100db766 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 25 Oct 2023 18:52:30 +0200 Subject: [PATCH] [release/7.0.3xx] [msbuild] Look for and copy binding resource packages to the remote Mac in the ResolveNativeReferences task. Fixes #19229. (#19326) Look for any binding resource packages (a directory named AssemblyName.resources or a compressed version named AssemblyName.resources.zip) next to any references, and copy those to the remote Mac when doing remote builds. Backport of #19325. --- .../Tasks/ResolveNativeReferencesBase.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/msbuild/Xamarin.MacDev.Tasks/Tasks/ResolveNativeReferencesBase.cs b/msbuild/Xamarin.MacDev.Tasks/Tasks/ResolveNativeReferencesBase.cs index 52b4c32b57..f550700232 100644 --- a/msbuild/Xamarin.MacDev.Tasks/Tasks/ResolveNativeReferencesBase.cs +++ b/msbuild/Xamarin.MacDev.Tasks/Tasks/ResolveNativeReferencesBase.cs @@ -300,7 +300,22 @@ namespace Xamarin.MacDev.Tasks { public IEnumerable GetAdditionalItemsToBeCopied () { - return CreateItemsForAllFilesRecursively (NativeReferences); + var rv = new List (); + rv.AddRange (CreateItemsForAllFilesRecursively (NativeReferences)); + if (References is not null) { + foreach (var reference in References) { + var resourcesPackage = Path.Combine (Path.GetDirectoryName (reference.ItemSpec), Path.GetFileNameWithoutExtension (reference.ItemSpec)) + ".resources"; + if (Directory.Exists (resourcesPackage)) { + var resources = CreateItemsForAllFilesRecursively (new string [] { resourcesPackage }); + rv.AddRange (resources); + continue; + } + var zipPackage = resourcesPackage + ".zip"; + if (File.Exists (zipPackage)) + rv.Add (new TaskItem (zipPackage)); + } + } + return rv; } } }