[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.
This commit is contained in:
Rolf Bjarne Kvinge 2023-10-25 18:52:30 +02:00 коммит произвёл GitHub
Родитель ac2134e66b
Коммит 24746c041e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 16 добавлений и 1 удалений

Просмотреть файл

@ -300,7 +300,22 @@ namespace Xamarin.MacDev.Tasks {
public IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied ()
{
return CreateItemsForAllFilesRecursively (NativeReferences);
var rv = new List<ITaskItem> ();
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;
}
}
}