xamarin-macios/mk
Rolf Bjarne Kvinge 1d9a02cbef
[dotnet] Figure out where to publish files in the app bundle. Fixes #12572. (#13591)
In .NET, all files that should be published (put into the final .app bundle) are put into the @(ResolvedFileToPublish) item group, and at the end of the build process, .NET will publish all the files in that item group. Which files are in this item group, and how they're put in there, is out of our control (it's just how the build process works in .NET), so we'll have to cope.

Additionally, publishing an app for Apple platforms is different than publishing other .NET apps, because we can't just put all the files in the a directory like .NET usually does, we have a fairly strict directory structure we need to follow, and it also differs between platforms (the structure is different between macOS and iOS for instance).

This means that for every file in the `ResolvedFileToPublish` item group, we have to figure out:

* Should it be put into the app bundle in the first place?
* If so, in which subdirectory (if any)?

This PR implements these changes. The exact details are explained in a document in the PR, but the general logic is:

* We make an educated guess for some types of files we know about (assemblies, unmanaged libraries, images, etc).
* We provide a way to set metadata on each item specifying which type of item it is (assembly, unmanaged library, image, etc), and we'll treat the item as such. This method can also be used to override the guess we made (for files that shouldn't be published for instance).
* We warn if we run into files we're not educated enough to be able to guess about, and for which there's no custom metadata set.

Fixes https://github.com/xamarin/xamarin-macios/issues/12572.
2022-01-17 09:50:06 +01:00
..
.gitignore Automatically rerun 'make reset[-versions]' if the maccore dependency was reset. (#3442) 2018-02-09 15:20:06 +01:00
colors.mk Show better error when the mono archive isn't available. Fixes xamarin-macios/maccore#1655. (#6155) 2019-05-29 05:57:49 -07:00
mono.mk Bump mono. (#13714) 2022-01-14 07:21:58 +01:00
quiet.mk [mk] Zip it. 2021-12-22 10:17:34 +01:00
rules.mk [runtime] Build for ARM64/simulators. 2021-11-30 18:20:42 +01:00
subdirs.mk Add build system. 2016-04-21 19:11:24 +02:00
versions.mk Submodule MonoTouch.Dialog. (#13058) 2021-10-26 08:18:34 +02:00
xamarin-reset.sh [mk] Support https urls for maccore. (#5830) 2019-04-02 15:32:54 +02:00
xamarin.mk [maccore] Bump maccore to ease submission tests (#13717) 2022-01-14 09:39:17 -05:00