This change moves away from purely hard coding the minimum sdk version for android and also correctly sets the PLATFORM_NUMBER define. The gcc toolchain is no longer compatible in lime 8.3.x+ so, we shouldn't have to worry about the PLATFORM define at all.
It might be wise to enforce a baseline minimum version and complain if users try to use something lower than the default.
Options are default, always, never, and shortEdges. Defaults to default.
What default means depends on which Android SDK version is used.
According to the Android docs, starting with Android SDK 35, most options will be forced to act the same as always. However, for SDK 34 (which is the current minimum on Google Play) this should remain configurable.
https://developer.android.com/develop/ui/views/layout/display-cutout
MAC_USE_CURRENT_SDK is an incredibly old relic from a very old version
of hxcpp (haxe 2 days). It was removed in:
9a7f7f931f
This is now instead controlled by the flag `MACOSX_DEPLOYMENT_TARGET`.
The setup command now only does two things:
- Sets up haxelibs
- Adds cli alias
34 is the minimum required version by Google Play, so it should be default.
Bumping to 34 and 35 requires updating both gradle-version and gradle-plugin-version.
The new versions now require an ndkVersion flag in build.gradle. This can be obtained by reading source.properties in the root of the NDK.
JDK 17 will be required for these updates. Previously required JDK 11.
If a custom version is configured, users will think that just pressing enter will clear it, but it won't. It'll just keep the current value. To actually clear the value, they need to run lime config remove HL_PATH instead.
Previously, we added these rpaths to lime.ndll when it was built in commits c70ec9f and 333d093, but it's actually necessary only for Neko, so now I made it happen specfically after calling `nekotools boot` to create the Neko executable.
I've tested cpp and hl, and I've confirmed that the executables still launch successfully when these rpaths are omitted. It's better for their security to use fewer rpaths.
As noted commit c70ec9f, adding these rpaths is necessary due to a change in Xcode 15 where /usr/local/lib used to be available on the rpath automatically, but now it isn't, which affects the executable's ability to find the libneko dylib.
* Add Drop file event support for android.
* Updated MIME type configuration and intent filter generation.
* "supportedMimeTypes" => "mimeType"
* `mimeType` -> `accept-file-intent`
The former was unclear about how the dependency would relate to web workers. Would it only be available to workers? Would it automatically spin up a worker?
`allow-web-workers` isn't 100% perfect, but it implies the correct answers to the questions above (no and no) and isn't too long.