Commit Graph

55 Commits

Author SHA1 Message Date
John Jones-Steele 601858978f The default android platform settings refer to lumberyard #3881 (#7073)
* WIP

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Commit before merging

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Added new pngs

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Changes from PR

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Fixed CRC errors

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
2022-01-25 11:49:05 +00:00
Scott Romero 807464c58d [development] updated Android build node configuration (#7007)
Added the NDK to the install list
Removed Android Java APIs prior to 28 from package list as they are unnecessary
Updated LY_NDK_DIR to point to the SDK manager version
Updated some inconsistencies in how the min Android native API is handled

Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
2022-01-21 09:08:24 -08:00
lumberyard-employee-dm f09055af42 Fixed CMake use with Android NDK 23 (#6460)
* Fixed CMake use with Android NDK 23

This was done by only setting the `ANDROID_ARM_MODE` if the ANDROID_ABI
starts with `armeabi`.

The Android arm mode setting can't be used using non-`armeabi` ABIs.
In O3DE we default to `arm64-v8a` `ANDROID_ABI`
So `ANDROID_ARM_MODE` must not be set.

The CMake [Android-Determine.cmake](https://gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/Platform/Android-Determine.cmake#L573-585) which is used to detect platform-wide information when the CMAKE_SYSTEM_NAME is set to android, enforces that if the `CMAKE_ANDROID_ARCH_ABI` doesn't start with `armeabi`, then it will fatal error if the CMAKE_ANDROID_ARM_MODE option is set.

In Android NDK 21 the `ANDROID_ARM_MODE` variable is used to set the CMAKE_ANDROID_ARM_MODE variable if the [ANDROID_ABI](https://android.googlesource.com/platform/ndk/+/refs/tags/ndk-r21e/build/cmake/android.toolchain.cmake#700) starts with `armeabi`.

This meant when using Android NDK 21, the CMake Android-Determine.cmake module would succeed, due
to the CMAKE_ANDROID_ARM_MODE not being set.

In Android NDK 23 the `ANDROID_ARM_MODE` now will set the
`CMAKE_ANDROID_ARM_MODE` variable to `TRUE` if it isn't defined.

Added an `--extra-cmake-configure-args` option to the `generate_android_project.py` script which can be used to append user specified CMake arguments to the cmake configure step (`cmake -B <build-dir> -S <source-dir> -DCMAKE_TOOLCHAIN_FILE=<android-toolchain-file> <extra-args>`)

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the O3DE Android toolchain wrapper to fatal error if the 64-bit
arm ABI isn't used.

Also removed the unneccessary setting of the ANDROID_ARM_MODE and
ANDROID_ARM_NEON option option now that the armeabi cannot be specified
as an ABI.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-01-10 19:11:00 -06:00
AMZN-ScottR c0dd9ac26b [android_compat_fixes] fixed issues with running Android project generation scripts on Unix systems
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-11-08 12:34:54 -08:00
AMZN-ScottR aabbf51d3a [android_compat_fixes] added support for non-NDK distributed Vulkan validation layer library paths (required for Android NDK r23+)
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-11-08 12:34:51 -08:00
AMZN-ScottR 27d354b1f3 [android_compat_fixes] fixed issue where asset cached was getting deleted when regenerating an existing Android Gradle project with --overwrite-existing
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-11-08 12:34:49 -08:00
AMZN-ScottR f68b550ca9 [android_compat_fixes] replaced a couple try/except cases that were looking for the wrong exception when invoking adb_* functions
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-11-08 12:34:46 -08:00
AMZN-ScottR 8b9dfe022d [android_compat_fixes] increased debug logging around adb calls in Android deployment script
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-11-08 12:34:43 -08:00
AMZN-ScottR ea52fc93ef [android_compat_fixes] fixed issue with Gradle task chaining for some custom copy tasks
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-11-08 12:34:38 -08:00
AMZN-ScottR 255bf7cfba [android_compat_fixes] updated min Android Gradle plugin version to latest point release of 4.2
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-11-08 12:34:35 -08:00
AMZN-ScottR 98dd24dce9 [android_compat_fixes] updated max Gradle version to latest point release of 7.0 to fix volume query bug during sync in some configurations
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-11-08 12:34:33 -08:00
AMZN-ScottR e532193459 [android_compat_fixes] added support for versioned Android 'cmdline-tools' (the 'tools' replacement)
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-11-08 12:34:30 -08:00
Artur K 80db67e90a Remove many unused variables and unused setting files (#4607)
* Remove many unused variables and unused setting files

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Remove a few more dead config vars

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* fix android test_ConfigureSettings_DefaultValues_SetsValues

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2021-10-12 17:06:15 -05:00
SJ b984335b30 [Android] Fix black screen on Android when app is launched (#4418)
* When copying the runtime dependency setreg files to the cache, the name of the registry directory should be all lower case

Signed-off-by: amzn-sj <srikkant@amazon.com>

* Lower case the registry folder name when looking in the asset cache.

Signed-off-by: amzn-sj <srikkant@amazon.com>
2021-10-01 09:02:09 -07:00
jiaweig 0f4a9d70b5 Fix 3p path setting to the upper level (#4399)
Signed-off-by: jiaweig <jiaweig@amazon.com>
2021-09-29 17:46:35 -05:00
Steve Pham 87ae7e8653 Fix android gradle scripts to prevent cmake_dependencies.<game>.<game>_gamelauncher from being wiped out of the APK
Update gradle script generation to correct task dependencies (#3120)
- copyNativeArtifacts must run after syncLYLayoutMode
- syncLYLayoutMode must must after externalNativeBuild

Signed-off-by: Steve Pham <spham@amazon.com>
2021-08-13 18:22:40 -07:00
Steve Pham 38261d0800 Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
2021-07-16 15:25:48 -07:00
Chris Galvan d7574777a8 Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2021-07-02 12:42:44 -05:00
Steve Pham b4a2edec6a Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

Signed-off-by: spham <spham@amazon.com>

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
2021-06-30 19:51:55 -07:00
Gene Walters 4e14c0069b Merge branch 'upstream/stabilization/2106' into genewalt/gitflow_210628 2021-06-28 19:09:20 -07:00
Steve Pham 70042fcdcd O3DE Copyright Updates for Linux Foundation (#1504) 2021-06-23 10:55:22 -07:00
SJ cb2d64b205 Add parameters to specify custom native build path and enable unity build in Android gradle builds (#1494)
* Add parameters to specify custom native build path and enable unity build in Android gradle builds

* Enable unity build for gradle to shorten the path to the generated object files which fixes build failures on Jenkins due to paths exceeding limit. This also speeds up builds.
2021-06-22 15:31:52 -07:00
mnaumov 9ca0e731f4 Merge remote-tracking branch 'upstream/stabilization/2106' into mnaumov/StabilizationJun15
# Conflicts:
#	Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp
2021-06-15 10:41:13 -07:00
Eric Phister 0c7605c9b6 Update minimum required CMake version to 3.20 (#1253)
* Update the minimum CMake version to 3.20

Sets the cmake_minimum_required calls to version 3.20 and updates the
README.md to point at the general CMake download page instead of a stale
link.

* Remove unnecessary cmake minimum version

It was using an old 3.0 version and can be removed.

* Additional updates to CMake 3.20, build scripts

Updates the version and remove logic to find a CMake in 3rdParty.

* Removing backup path to ninja path in the build_ninja_windows.cmd

The backup path for finding ninja was coming from the Perforce depot which isn't available for o3de builds.

* Removing reference to 3rdParty Android SDK 29 from the build and run unit test script

The Android SDK is not part of the new 3rdParty system and users are expected to install the Android SDK on their own in order to build the engine for Android.

* Update the get_python scripts and README

No longer try to append a CMake path to LY_3RDPARTY_PATH, but do still
support LY_CMAKE_PATH because there are still uses of it.  Remove
mention of an LY_3RDPARTY_PATH-relative CMake path from the README.md.

* Removing LY_NINJA_PATH from the build_ninja_windows.cmd

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-06-11 12:00:55 -05:00
Steve Pham f775ba7df8 Provide more informative error messages on android related environment / device related issues (#1261)
- If gradle is installed, but JAVA_HOME is not set properly, no detail message is given. Bubble up the error message as part of the description
- When deploying a newer API Level APK (30) to an API Level 29 device, a python callstack is given without any detail of the error. Now it will report the actual error that is from the adb call so the user can act upon it
2021-06-11 08:12:49 -07:00
Steve Pham 965fced771 SPEC-4524: Script updates to support iOS Unit Test Jobs (#1180) 2021-06-08 15:01:44 -07:00
Steve Pham bf0df4b369 Add Android 'gradle' job as a default job (#1082)
* Add Android 'gradle' job as a default job

* Replace warning about version checking type with string preprocessing of the captured version before comparisons
2021-06-01 16:37:30 -07:00
Steve Pham 74ec7a362b Update Android Project Generation to support AGP 4.2.0, Cmake 3.20, and newer versions of NDK&SDK
- build.gradle format updates for newer Android Gradle Plugin
- Remove hard coded Android Gradle Plugin version 3.6.4 to be passed in from command args
- Set Android Gradle Plugin min version 4.2.0 in order to support Min CMake version 3.20
- Add ability to use the android sdk to install missing components if needed rather than doing it externally
- Removed argument to pass in the NDK folder to use the android, use the android-sdk instead. Can request specific NDK versions if possible
- Android Gradle Plugin has dependencies by version and is being managed
- More defaults based on tools on path, agp version made possible so they are no longer needed in the command args
2021-05-28 23:24:51 -07:00
Esteban Papp ff9a052ce6 Merge pull request #1011 from aws-lumberyard-dev/ly-as-sdk/LYN-2948
Integration of the LY as an SDK work
2021-05-28 11:30:13 -07:00
moudgils b80e5c3e1f Merge pull request #1029 from aws-lumberyard-dev/FixIosApp
Fix ios app
2021-05-28 10:43:19 -07:00
moudgils 2b35ed1d7f Fixes to get monolithic builds working for ios 2021-05-28 08:50:27 -07:00
pappeste f1b688f435 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	CMakeLists.txt
#	Code/Tools/ProjectManager/Source/GemCatalog/GemInfo.h
#	Gems/AtomLyIntegration/AtomViewportDisplayInfo/gem.json
#	cmake/LYWrappers.cmake
#	cmake/SettingsRegistry.cmake
#	scripts/o3de/tests/unit_test_current_project.py
2021-05-27 10:29:19 -07:00
Terry Michaels 9b1be43367 Renamed osx_gl to mac and es3 to android for cache folders (#949) 2021-05-26 19:17:17 -05:00
SJ 8ca3b078a2 Remove bootstrap.cfg and some references to it.
Merge pull request #836 from aws-lumberyard-dev/LYN-2461
2021-05-26 09:32:57 -07:00
lumberyard-employee-dm 76fe7f3666 Merge branch 'main' of https://github.com/aws-lumberyard/o3de into ly-as-sdk/LYN-2948-phistere 2021-05-25 23:48:55 -05:00
lumberyard-employee-dm b42cc19f28 Moved the preview.png from the that the o3de engine template script from cmake/Tools directory to the o3de/resources directory 2021-05-23 21:54:56 -05:00
Alex Peterson d112ae403b Engine settings UX update and basic functionality 2021-05-21 22:47:41 -07:00
amzn-sj 471d9afe82 Minor edits to python script 2021-05-20 09:31:55 -07:00
amzn-sj 268fd8b714 Remove bootstrap.cfg and references to it. 2021-05-19 13:57:35 -07:00
Steve Pham fed56805f5 Fix issue with layout tool and symlinks on Mac (#791)
* - Fix reversed symlink logic for Non-Windows file systems
- Add additional logic to clear existing symlink if it exists before re-applying

* Update to remove pre-existing reference regardless if its a symlink or not
2021-05-18 10:09:09 -07:00
Alex Peterson 2d54275cc6 Initial project creation logic
* Add GetProjects, GetProjectTemplates, GetGems
* Redirect python output to AZ_TracePrintf
* Allow creating projects in empty folders
* Enable project creation
2021-05-17 15:07:20 -07:00
lumberyard-employee-dm d4a0eb3a24 Moving o3de registration scripts to the scripts/o3de folder 2021-05-17 13:03:37 -05:00
amzn-sj f759f471bf Remove unused code 2021-05-14 11:15:52 -07:00
amzn-sj 05fec17ebd Remove hardcoded paths to Atom gems in registration.py and clean up gem.json files 2021-05-14 10:35:50 -07:00
Colin Byrne 43b474a4b2 O3de updates restricted download (#229)
* fix project centric set current
* Adding newline to project.json template
* Adding newline to engine.json
* Changed register -this-engine to be data driven
* adding build server support
* fix log dir
* fix add remove
* fix template creation for restricted
* fix typos and descriptions
* Add newline to the end of template.json
* Adding newline to the end of assets_scan_folders.seteg
* current_project in global project that creates/edits the .o3de/Registry/bootstrap.setreg
* fix the build server flags
* fix the o3de manifest server portion
* disable project manager tests for now. Its changed too much and lytestools is not working at the moment. I will get back to this later.
* fix the Mac build config
* disable project_test, this is the project manager. It has changed too much for these tests to work at the moment. I'll get back to them

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-05-10 12:03:36 -07:00
lumberyard-employee-dm 3dec5d3b71 LYN-2537 engine assets (#254)
* LYN-2537 Moved the Engine and Editor folder to be within the EngineAssets folder

* Fixed Documentation in bootstrap.cfg to correct the path to the user project specific registry file

* Adding a newline to the output of AssetCatalog 'Registering asset..., but type is not set' message

* Updating the AssetProcessorPlatformConfig.setreg Scan Folder to detect
the @ENGINEROOT@/EngineAssets/Engine path for engine runtime assets and
@ENGINEROOT@/EngineAssets/Editor path for engine tool assets

* Updating references to Icons and other assets to account for moving the
Engine and Editor folder under a single EngineAssets folder

* Moving the Engine Settings Registry folder from Engine/Registry -> Registry

* Removed the LY_PROJECT_CMAKE_PATH define as it is not portable to other locations. It is hard coded to the project location that was used for the CMake configuration. Furthermore it paths with backslashes within it are treated as escape characters and not a path separator

* Updated the LyTestTools asset_processor.py script to copy the exclude.filetag from the EngineAssets/Engine directory now

* Fixed Atom Shader Preprocessing when running using an External Project

* Updated the TSGenerateAction.cpp to fix the build error with using a renamed variable

* Updated the Install_Common.cmake ly_setup_others function to install the
EngineAssets directory and the each of the Gem's Assets directory while
maintaining the relative directory structure to the Engine Root
Also updated the install step to install the Registry folder at the
engine root

* Fixed the copying of the Registry folder to be in the install root, instead of under a second 'Registry' folder

* Moving the AssetProcessorPlatformConfig.setreg file over to the Registry folder

* Updated the LyTestTools and C++ code to point that the new location of
the AssetProcessorPlatformConfig.setreg file inside of the Registry
folder

* Renamed Test AssetProcessor*Config.ini files to have the .setreg extension

* Converted the AssetProcessor test setreg files from ini format to json
format using the SerializeContextTools convert-ini command

* Updated the AssetProcessor CMakeLists.txt to copy over the test setreg files to the build folder

* Updated the assetprocessor test file list to point at the renamed AsssetProcessor*Config setreg filenames

* Removed the Output Prefix code from the AssetProcessor. The complexity that it brought to the AP code is not needed, as users can replicate the behavior by just moving there assets underneath a another folder, underneath the scan folder

* Adding back support to read the AssetProcessorPlatformConfig.setreg file from the asset root. This is only needed for C++ UnitTests as they run in an environment where the accessing the Engine Settings Registry is not available

* Updating the Install_common.cmake logic to copy any "Assets" folder to
the install layout.
The Script has also been updated to copy over the "Assets" folder in the
Engine Root to the install layout instead of an "EngineAssets" folder

* Updating References to EngineAssets source asset folder in code to be the Assets source folder

* Moved the Engine Source Asset folder of 'EngineAssets' to a new folder name of 'Assets'. This is inline with the naming scheme we use for Gem asset folders

* Adding the EngineFinder.cmake to the AutomatedTesting project to allow it to work in a project centric manner

* Updating the LyTestTools copy_assets_to_project function to be able to copy assets with folders to the temporary project root
Fixed an issue in LyTestTools where the temporary log directory could have shutil.rmtree being called twice on it leading to an exception which fails an automated test

Updated the asset_procesor_gui_tests_2 AddScanFolder test to not use the
output prefix, but instead place the source asset root into a
subdirectory

* Correct the AssetProcessorPlatformConfig Scan Folders for the EngineAssets directory to point at the Assets directory

* Updated the asset procesor batch dependency test scan folder to point at the 'Assets' folder instead of 'EngineAssets'
2021-04-28 21:38:43 -05:00
amzn-sj 745d5585e1 Only try to remove symlink or delete the directory is the path exists(it will not exist when build for the first time) 2021-04-26 15:57:47 -07:00
spham dbae71c511 Fixes for android nightly unit tests
- Fix broken test launcher caused by change in unit test module registry format
- Fix test runner script's ENGINE_ROOT (re-parenting) path caused by move of file to different folder
- Adding step to always perform an android sdk update to latest creating and launching android virtual device (AVD)
2021-04-15 11:57:23 -07:00
alexpete 8469c9ca0a Integrating github/staging through commit 5f214be 2021-04-13 17:18:57 -07:00
alexpete c2cbd430fe Integrating up through commit 90f050496 2021-04-07 14:03:29 -07:00