Rémi Verschelde
7bf9787921
SCons: Format buildsystem files with psf/black
...
Configured for a max line length of 120 characters.
psf/black is very opinionated and purposely doesn't leave much room for
configuration. The output is mostly OK so that should be fine for us,
but some things worth noting:
- Manually wrapped strings will be reflowed, so by using a line length
of 120 for the sake of preserving readability for our long command
calls, it also means that some manually wrapped strings are back on
the same line and should be manually merged again.
- Code generators using string concatenation extensively look awful,
since black puts each operand on a single line. We need to refactor
these generators to use more pythonic string formatting, for which
many options are available (`%`, `format` or f-strings).
- CI checks and a pre-commit hook will be added to ensure that future
buildsystem changes are well-formatted.
(cherry picked from commit cd4e46ee65
)
2020-06-10 15:30:52 +02:00
fhuya
7135bc3e37
Miscellaneous cleanup for the Android codebase:
...
- update gradle plugins versions
- cleanup java_godot_lib_jni
Note: logic was mostly moved around and no new logic/functionality was added.
2020-03-25 09:00:37 -07:00
unknown
fcde11222a
Removed unused code in android detect.py and SCsub
...
(cherry picked from commit 90cdacd741
)
2020-03-25 11:38:54 +01:00
fhuya
c3660bb4dc
Re-architecture of the Godot Android plugin.
2020-03-09 10:30:02 +01:00
Fabio Alessandrelli
04c917899f
Add Android NetSocket implementation.
...
Automatically acquire and release multicast lock when needed.
2019-12-14 18:10:36 +01:00
fhuya
7fabfd402f
Split the Android platform java logic into an Android library module (`lib`) and an application module (`app`).
...
The application module `app` serves double duties of providing the prebuilt Godot binaries ('android_debug.apk', 'android_release.apk') and the Godot custom build template ('android_source.zip').
2019-09-04 16:20:22 -07:00
Rémi Verschelde
b948b38840
SCons: Generate android_source.zip during build
...
This is now needed after #27781 , as this android_source.zip template
is used for custom Android builds from the editor.
2019-08-29 13:22:17 +02:00
Rémi Verschelde
04ac6a43a4
Android: Style fixes to manifest and build.gradle
2019-08-27 11:16:55 +02:00
Rémi Verschelde
d6ef5daf48
Android: Drop support for NDK < r15
...
NDK r15c was released over two years ago (July 2017), and we
cannot build against r14b anyway as it seems to fail with our
setup to link the STL.
2019-07-30 15:49:31 +02:00
unknown
b0e44c9e5d
Removed an unused commit
2019-07-20 14:40:09 +05:30
Rémi Verschelde
b0d41847ed
SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor defines
...
It's the recommended way to set those, and is more portable
(automatically prepends -D for GCC/Clang and /D for MSVC).
We still use CPPFLAGS for some pre-processor flags which are not
defines.
2019-07-03 09:59:04 +02:00
fhuya
f7200d6960
Deprecate armv6 support for Android
2019-06-19 12:05:58 -07:00
Juan Linietsky
dd03dcbd5a
Android now (optionally) builds the template when exporting
...
Added new way to create add-ons
Removed old way to create add-ons
2019-04-07 15:46:52 -03:00
Hendrikto
49a81308c0
Remove unused imports
2019-04-06 18:05:05 +02:00
Bastiaan Olij
b2c0a687f1
Restructuring glue code to make it easier to extend
2019-04-05 21:44:06 +11:00
Rémi Verschelde
7f4ee36469
Android: Add support for x86_64 architecture
...
Like arm64v8, this is only supported by API 21 and later,
so we enforce 21 as min API for x86_64.
Part of #25030 .
2019-01-16 11:39:39 +01:00
Rémi Verschelde
6770357e47
Android: Better identify thirdparty C/C++ code
...
- The `cpu-features.{c,h}` code was only used by chance by the webm
(libvpx) code, so I moved it there. It was actually introduced before
that and wasn't in use, and libvpx just happened to be able to
compile thanks to it being bundled.
It could potentially be compiled on the fly from the Android NDK, but
since we plan to replace the webm module by a GDNative plugin in the
near future, I went the bundling route.
- `ifaddrs_android.h` is already provided in the Android NDK as
`ifaddrs.h`, same as on other Unixes. Yet we cannot use it until we
up the min API level to 24, where `getifaddrs` is first defined.
I moved the files to `thirdparty/misc` and synced them with upstream
WebRTC (only indentation changes and removal of `static` qualifiers).
Also removes dropped thirdparty files from COPYRIGHT.txt after changes
in #24105 and #24145 .
2018-12-20 13:07:54 +01:00
volzhs
b385a4b053
Fix lint error/warning while building android template
2018-12-18 17:26:33 +09:00
Bastiaan Olij
6105a8beb1
Remove obsolete ANDROID_NATIVE_ACTIVITY
2018-12-02 00:48:37 +11:00
Rémi Verschelde
d952126caf
Fix warnings in Android platform
...
Fixes the following Clang 7 warnings:
```
platform/android/os_android.h:240:16: warning: 'OS_Android::native_video_play' hides overloaded virtual function [-Woverloaded-virtual]
platform/android/os_android.h:241:15: warning: 'OS_Android::native_video_is_playing' hides overloaded virtual function [-Woverloaded-virtual]
platform/android/audio_driver_opensl.cpp:104:3: warning: suggest braces around initialization of subobject [-Wmissing-braces]
platform/android/audio_driver_opensl.cpp:129:10: warning: unused variable 'numOutputs' [-Wunused-variable]
platform/android/audio_driver_opensl.cpp:130:11: warning: unused variable 'deviceID' [-Wunused-variable]
platform/android/java_glue.cpp:795:10: warning: unused variable 'clsio' [-Wunused-variable]
platform/android/java_glue.cpp:890:12: warning: unused variable 'gob' [-Wunused-variable]
platform/android/java_glue.cpp:592:13: warning: unused variable 'resized' [-Wunused-variable]
platform/android/java_glue.cpp:593:13: warning: unused variable 'resized_reload' [-Wunused-variable]
modules/mobile_vr/mobile_vr_interface.cpp:401:8: warning: unused variable 'aspect_ratio' [-Wunused-variable]
drivers/unix/dir_access_unix.cpp:394:2: warning: THIS IS BROKEN [-W#warnings]
```
2018-10-03 15:17:00 +02:00
Rémi Verschelde
3a2ca68af3
SCons: Build thirdparty code in own env, disable warnings
...
Also remove unnecessary `Export('env')` in other SCsubs,
Export should only be used when exporting *new* objects.
2018-09-28 14:07:39 +02:00
Ridwan Abdul Hafidh
b0419db46f
add support libc++_shared stl on android
2018-08-23 05:02:47 +07:00
Patrick Kaster
8bb90fd5f3
added 'android_add_asset_dir('...') method to Android module gradle build config
...
(cherry picked from commit 9190ae2be7
)
2018-07-05 01:58:33 +02:00
Viktor Ferenczi
272ecddb28
Properly closing all files in Python code
2018-03-11 14:55:50 +01:00
volzhs
4bea7d1b5f
Update android build tool to latest
2018-01-03 17:25:07 +09:00
Rhody Lugo
a65c0939fd
disable caching for targets using helper functions
2017-11-28 23:24:12 -04:00
Rhody Lugo
a4a222d62d
use the same cache for all branches for appveyor
2017-11-28 03:23:33 -04:00
Ramesh Ravone
a4cee286e6
flatDir support [Android]
2017-10-07 15:10:17 +05:30
Ruslan Mustakov
ea7223d181
Set Android minSdkVersion to 18
...
It's the minimum version where GLES 3 API is available. It is already
the version Godot binary is compiled with for Android, but the config
files were not updated in time.
2017-09-20 11:49:46 +07:00
Matthias Hoelzl
b6e1e47e3a
Make build scripts Python3 compatible
...
- The Windows, UWP, Android (on Windows) and Linux builds are
tested with Scons 3.0 alpha using Python 3.
- OSX and iOS should hopefully work but are not tested since
I don't have a Mac.
- Builds using SCons 2.5 and Python 2 should not be impacted.
2017-08-27 23:05:39 +02:00
Pedro J. Estébanez
f78299c81b
Add support for ARMv8 (64-bit) on Android
2017-07-25 12:28:46 +02:00
Ramesh Ravone
f8309f86c2
Android: avoiding duplicates in build.gradle
2017-04-10 08:34:40 +05:30
Ramesh Ravone
93b417fe17
Android: Support to change minSdkVersion ( #8313 )
2017-04-09 23:35:34 +02:00
Juan Linietsky
b5a06cecff
Export template management dialog.
...
Missing download (need to discuss this!)
2017-03-21 08:42:06 -03:00
Ramesh Mani Maran
27c7d253aa
android: adding classpath and gradle plugins
2017-03-18 10:27:30 +01:00
Ramesh Mani Maran
aa7490ffd0
support for multiple maven url
2017-03-05 15:46:55 +05:30
Julian Murgia
94103c0c02
Add API to access battery power state
...
Done:
- X11, server (tested)
- Windows (developed, would be nice to retest)
- OSX (not tested)
Prepared (not developed):
- Android (code is here, but may not compile)
- iphone
- winrt
- bb10
- haiku
- javascript
2017-03-04 18:04:29 +01:00
Rémi Verschelde
d4c17700aa
style: Fix PEP8 whitespace issues in Python files
...
Done with `autopep8 --select=E2,W2`, fixes:
- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
97c8508f5e
style: Start applying PEP8 to Python files, indentation issues
...
Done with `autopep8 --select=E1`, fixes:
- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-01 00:33:51 +01:00
Rémi Verschelde
fc8ccd5b8c
SCsub: Add python shebang as a hint for syntax highlighting
...
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Juan Linietsky
d279d060e1
Merge pull request #5077 from RandomShaper/improve-android-build
...
Improve Android build
2016-07-10 13:57:17 -03:00
volzhs
40d3234304
Add android_add_default_config for config.py
...
usage : env.android_add_default_config("applicationId 'com.godot.game'")
2016-07-07 04:03:50 +09:00
Pedro J. Estébanez
e7b2626707
Make Android build smarter (SCons + Gradle)
...
Upgrade Gradle and Android plugin for Gradle
Disable all signing and zip-aligning for the export templates
Give correct names to generated APKs
Put .so files built by SCons right where Gradle has to pick them according to arch & build type
Downgrade NDK platform to 14 to match minSdkVersion
2016-06-27 10:49:15 +02:00
volzhs
5eb14d3af0
fix unexpected char: '\' error on windows
...
error occurred when register additional directory for android module on windows.
### config.py ###
```
def can_build(plat):
return plat=="android"
def configure(env):
if (env['platform'] == 'android'):
env.android_add_res_dir("android/res")
```
2016-05-24 05:25:22 +09:00
volzhs
d6cc887627
fix gradle build on windows
2016-03-02 12:15:39 +09:00
mrezai
50cbe736de
Fix maven repositories bug
2016-01-09 16:51:22 +03:30
Juan Linietsky
401622cc22
-Removed ANT build system for Android, as it was deprecated by Google
...
-Added new Gradle build system, as it is the required build system
2016-01-08 13:36:44 -03:00
Rémi Verschelde
399b1b0474
Cosmetic fixes to SCons buildsystem
...
- Removed trailing spaces
- Made sure all indentation is done using tabs (fixes #39 )
- Potentially fixed an identation issue for openssl check
2015-11-01 20:53:26 +01:00
Juan Linietsky
4d2198110b
merges from okam repo
2015-03-03 14:39:13 -03:00
marynate
1c6dcee465
Fix android build on windows
2014-10-08 14:39:47 +08:00