Commit Graph

550 Commits

Author SHA1 Message Date
Joseph Cloutier
ab8e479abf Merge branch 'develop' into DeprecatedGradleFeatures 2022-09-03 18:36:04 -04:00
Josh Tynjala
fd0fc3da48 HashLink: fix the ability to double-click the .app file on macOS to run it
The HashLink executable expects hlboot.dat and libraries to be in the current working directory (it's not enough for them to be in the same directory as the executable). Make the .app file launch a shell script that 1) changes the current working directory 2) launches the HashLink executable
2022-07-13 10:01:57 -07:00
player-03
4f83af5848 Merge pull request #1545 from player-03/configChanges
Suppress `uiMode` configuration changes.
2022-06-27 01:49:18 -04:00
Josh Tynjala
e3a755ff60 ManifestResources: use Dynamic instead of AssetLibrary when disable_preloader_assets is defined 2022-06-14 07:41:50 -07:00
Josh Tynjala
4e1974fc9f ManifestResources: if disable_preloader_assets is defined, keep the public API available
Ensures that existing custom templates still work
2022-06-14 07:07:22 -07:00
Joseph Cloutier
9a81ae8798 Merge branch 'develop' into DeprecatedGradleFeatures 2022-06-12 10:00:23 -04:00
Joseph Cloutier
bb9b64af81 Suppress uiMode configuration changes.
When the user switches between dark and light themes, Android destroys
and recreates the activity. However, Lime activities can't be recreated
like this, and just close instead.

Since we don't actually use the system theme, there's no reason to do
this. Simplest solution is to suppress it.

https://developer.android.com/guide/topics/resources/runtime-changes
https://developer.android.com/guide/topics/ui/look-and-feel/darktheme#config-changes
2022-06-11 20:28:41 -04:00
Joseph Cloutier
5ffbfd7f3a Add AndroidX options to <config:android />.
`enableJetifier` defaults to false because it can slow compilation.
2022-06-11 20:20:33 -04:00
Joseph Cloutier
00fd063026 Use implementation instead of api.
This is recommended as a best practice, though AFAIK this only matters
for projects that are going to be imported by other projects.

For instance, you used to be able to include `:deps:extension-api` by
including any extension that depended on it. Now, every project that
wants to use `extension-api` has to include it directly. (Which is fine
because in practice, they all already do so.)
2022-06-11 20:10:34 -04:00
Joseph Cloutier
619b67b472 Remove reference to nonexistant folder.
libs/ doesn't exist; only app/libs/ does, and that's handled by app/build.gradle.
2022-06-11 20:10:34 -04:00
Joseph Cloutier
1ff434043c Remove trailing spaces. 2022-06-11 20:09:42 -04:00
Joseph Cloutier
46acd3b373 Target Android API level 30.
https://developer.android.com/distribute/best-practices/develop/target-sdk
2022-06-05 22:38:48 -04:00
Joseph Cloutier
8bcbafd587 Update the Android Gradle Plugin. 2022-06-05 22:38:08 -04:00
Joseph Cloutier
96bfa805cf Add instructions to debug Java classes.
The Java compiler complains about deprecated features and unsafe
operations, but it's surprisingly hard to get the details. Here's how.
2022-06-05 22:37:07 -04:00
Joseph Cloutier
87611eeed1 Remove uses-sdk tag.
This is now redundant, and sometimes even causes builds to fail.
2022-06-05 22:37:07 -04:00
Joseph Cloutier
f81439d1d2 Use androidX when available.
https://developer.android.com/jetpack/androidx/
2022-06-05 22:37:07 -04:00
Joseph Cloutier
ded22af195 Replace references to jcenter().
https://developer.android.com/studio/build/jcenter-migration

Gradle considers this function a "deprecated feature."
2022-06-05 22:37:07 -04:00
Joseph Cloutier
fa7f487595 Replace ndk.dir with ndkPath.
https://developer.android.com/studio/projects/configure-agp-ndk#agp_version_41

The documentation tells you to be careful about this, since you're
putting local-only information into a file that gets uploaded to version
control, but Lime doesn't really need to worry about that.

Granted, Lime DID use local.properties, but that's no longer practical.
2022-06-05 22:37:07 -04:00
player-03
2cd7161bbe Don't expect Android extensions to use ndlls
I can't think of any practical reasons for an Android extension to compile an ndll. All of Android's system functions require Java, not C++, and you can get the speed of C++ just by writing Haxe code.

I surveyed several Android extensions on lib.haxe.org, and not one of them used ndlls when targeting Android.
2022-06-05 22:36:01 -04:00
player-03
276a8f6c8a Merge pull request #1517 from Apprentice-Alchemist/feature/update-hashlink
Update hashlink.
2022-06-02 18:34:19 -04:00
Igor
dec38dcc97 Required for apps targeting Android 12+
Otherwise it throws the following error on build:
"Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details."

To publish apps on Google Play everyone needs to target SDK 31+, which is Android 12+, so this is like a must now.

If "true", the activity is accessible to any app, and is launchable by its exact class name.
If "false", the activity can be launched only by components of the same application, applications with the same user ID, or privileged system components. This is the default value when there are no intent filters.
2022-05-26 16:19:03 -04:00
Apprentice-Alchemist
ad70700a14 Try to fix Windows mess a bit.
Default to 64 bit on windows too.
2022-05-19 20:46:08 +02:00
Apprentice-Alchemist
a44fe3669a Put hashlink binaries in templates/bin again.
Add setup script for macOS codesigning.
2022-04-28 19:42:45 +02:00
Apprentice-Alchemist
a3b3d8593f Update hashlink. 2022-04-28 19:42:40 +02:00
Apprentice-Alchemist
daca1a2a62 Update hashlink. 2022-04-28 19:42:39 +02:00
Josh Tynjala
da3705ed20 Electron: update to latest version 18
-lib hxnodejs is no longer included in the compilation of ApplicationMain (but it is still included for compilation of ElectronSetup, of course). hxnodejs was removed from ApplicationMain because it forces some require() calls to be included in the generated .js, which would require disabling certain Electron security features to work properly in newer versions of Electron than we targeted previously. Electron's documentation recommends not to do that.

To use Node.js APIs, you need to run them in more secure contexts, while communicating over IPC with a "preload script" from the "renderer" process. In Lime/OpenFL, this would require a custom ElectronSetup template override, but that shouldn't be all that surprising. See: https://www.electronjs.org/docs/latest/tutorial/process-model for more details on the Electron side.
2022-04-14 12:08:58 -07:00
player-03
8ab755d359 Merge pull request #1497 from player-03/gitignore-obj
Ignore project/obj in extensions.
2021-12-20 10:03:45 -05:00
Josh Tynjala
0ecf27d2d6 disable_preloader_assets haxedef
When the project contains no assets, excludes asset-related classes for big file size savings
2021-11-18 10:46:07 -08:00
player-03
dc637ca98c Ignore project/obj in extensions.
No one ever wants to include the intermediate build files. However, some choose to include the outputs, so I left them as comments.
2021-11-07 12:33:47 -05:00
Josh Tynjala
b17bc6100b electron: sets -D electron to allow differentiation between plain html5 and electron, if needed 2021-10-19 17:57:36 -07:00
zatrit
75407f5db8 Fixed dialog on android APK signing 2021-07-23 09:00:09 -07:00
Josh Tynjala
216096270e ios: add missing required Metal.framework dependency to Xcode project 2021-04-29 14:42:46 -07:00
Josh Tynjala
152bd3df2c air: template supports window allow-high-dpi for desktop apps 2021-01-26 15:24:48 -08:00
Rainy
6ee94bcf60 Compatible with electron version 11.
Compatible with electron version 11.
2021-01-04 11:55:39 -08:00
dustinaux
a7451bb9a4 Fix Touch not working on some Google Pixel phones 2021-01-04 11:16:15 -08:00
Joshua Granick
c43be68eab Revert "add failIfMajorPerformanceCaveat setting"
This reverts commit aa77fcbdd7.
2020-12-17 12:37:37 -08:00
Александр Хохлов
aa77fcbdd7 add failIfMajorPerformanceCaveat setting 2020-10-14 09:23:52 +04:00
Joshua Granick
1b809a4918 Update ios-deploy 2020-10-05 19:45:18 -07:00
dependabot[bot]
93eddd1f3d Bump electron from 1.8.8 to 9.1.0 in /templates/electron/template
Bumps [electron](https://github.com/electron/electron) from 1.8.8 to 9.1.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v1.8.8...v9.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-19 20:42:40 -07:00
m0rkeulv
bf2b51ce1e fix for android rotation 2020-08-03 10:25:40 -07:00
m0rkeulv
f3adce068c fix for android screen orientation 2020-08-03 10:25:40 -07:00
Jens Fischer
8aba4fdfe0 Update Google Closure to v20200315 2020-05-11 19:21:22 -07:00
Joshua Granick
42283e61bb Update to SDL 2.0.12 2020-03-18 13:36:35 -07:00
mc0239
7708353a6a Change http to https in gradle-wrapper.properties as services.gradle.org is inacessible over http 2020-01-27 12:47:52 -08:00
mc0239
1fcc76ee12 Use gradle built-in shorthand notations for jcenter and google 2020-01-27 12:47:52 -08:00
Joshua Granick
883ba6260e Add hxnodejs to Electron template 2019-11-11 11:07:47 -08:00
Justin Espedal
d5e80fa5c1 Allow use of launch storyboard instead of launch images on iOS 2019-11-06 12:27:48 -08:00
flashultra
72beeced30 Update to the latest Gradle 5.6.3 and Gradle Android plugin 3.5.1
Fix issue with ANDROID_GRADLE_TASK. Set apk file  in separate folder ( from
gradle  4.x)
2019-11-01 13:21:36 -07:00
Joshua Granick
bb2af5eed1 Rely on SDL for Android fullscreen window behavior 2019-10-08 13:41:36 -07:00
Joshua Granick
274ae5fe3b Fix double root path 2019-10-08 13:13:10 -07:00