Commit Graph

278 Commits (b63c9a87dbb7185c6714b0ba5094de8abe544d1e)

Author SHA1 Message Date
lumberyard-employee-dm 7dabe8b6e9
Updated Several Engine Gem's CMakeLists.txt to add themselves as required Gems (#1262)
* Fixed organization of the AssetProcessor SourceAssetBrowser

Assets within the Engine Root were grouped under a '/' entry.
That has been fixed to use the relative path within the engine root for
those assets
Assets outside of the Engine Root, but on the same drive were using
absolute paths before. Now there are child entries that navigate up the
directory hierarchy to those asset locations

* Added ly_enable_gems call to Atom gems targets that are required

The DefaultLevel.prefab contains several Atom components, that require
the Atom RHI, RPI, Common_Feature, ShaderBuilder and AtomLyIntegration CommonFeatures
gems to be enabled in order to successfully process in the
AssetProcessor.

* Added ly_enable_gems call to make the Camera gem required in Tools,
Builders and Clients.

This is needed as the DefaultLevel.prefab contains an Editor Camera
Component

* Adding the ly_enable_gem call to make the Maestro gem required

CrySystem currently requires Maestro to be enabled in order to
initialize

* Added ly_enable_gems call to the SceneProcessing gem to make it required

The SceneCore and SceneData libraries that are part of the core engine
Code folder requires the SceneProcessing gem to be enabled in order to
invoke the InitializeDynamicModule hooks in DllMain.cpp in order to
initialize those libraries.

* Fixed bad argument in comment for Prefab CMakeLists.txt

* Fixed Assert in Asset Builders due to the Atom RPI Builder

The Atom RPI Builder was enabling the Asset Catalog for the ScriptAsset a second time

The Atom Feature Common EditorSystemCommonComponent.cpp which also loads
in the AssetBuilder is enabling the Asset Catalog for the ScriptAsset

Added BehaviorContext reflection to the OutputDeviceTransformType enum
to fix the BehaviorContext errors about reflecting a method that returns
such an enum

* Added TypeId output to the JsonDeserializer report message about missing
ClassData

Previously the report callback would indicate that the target type was
missing Serialization class data, but didn't indicate the TypeId of the
target type

* Added support to the ly_enable_gems function to be able to support
0 gems being enabled.

Updated the Install step for CMake to propagate any ly_enable_gems
within a CMakeLists.txt for a target into the generated CMakeLists.txt
that is made for each installed IMPORTED target

* Adding newline to the end of the Camera Gem CMakeLists.txt

* Fixing target TYPE parameter for actual Gem Modules to use the GEM_MODULE tag instead of MODULE

* Reverting change to the DESTINATION directory for the installed CMakeLists.txt to use the relative path to the installed directory

* Adding the Atom_Bootstrap gem as a required gem

The Client and GameLaunchers required the Atom_Bootstrap gem in order to create the NativeWindow
Added Atom_Feature_Common client module as a runtime dependency of the AtomLyIntegration CommonsFeature client module

* Fixed register.py --all-projects-path and --all-gems-path arguments to
NOT register projects or gems that are within a template folder
Fixed reading of old pre-1.0 o3de_manifest.json files where the
"engines" key was a json array

* Changed how the relative target source directory is calculated when that source directroy resides outside of the engine root.
The final dirname component is used with a unique SHA256 has to form a <dirname>-<8 char SHA256> folder for installing files into

* Adding newline to the end of Atom_Bootstrap CMakeLists.txt

* Moving ly_enable_gems variants for Tools and Builders inside of PAL_TRAIT_BUILD_HOST_TOOLS block

* Adding a comment to AWSCore.ResourceMappingTool target to indicate that it is not a GEM_MODULE.
Furthermore it cannot be loaded with the Gem system because the library is in a different directory the executable
5 years ago
lumberyard-employee-dm 4014cacff8
Added a ${GemName}.Builders variant to Asset-Only Gems (#1324)
* Creating Builder variant aliases for all Asset Gems

* Added an AssetGem template for creating an Asset Gem

The AssetGem template is meant for non-code Gems

* Updated the engine_template.py commands to use pathlib

Each of the four commands: create-template, create-from-template,
create-project and create-gem have been updated to use pathlib.Path or
any path manipulation

Fix several python errors when instantiating a template with missing
o3de objects.
For example attempting to use the create-project command with the
"DefaultGem" template would result in a python exception instaed of a
error log and a return value 0..

Added a **force** option to the engine_template commands
to force overriding of existing files

* Optimized search through text files when the create-template command is
run when attempting to replace the license text section

* Adding a Minimal Project Template that contains the minimal set of gems
as stated by UX

* Minor changes to the DefaultProject template. Added a license section to the EngineFinder.cmake

* Adding the MinimalProject to the engine.json file
5 years ago
evanchia 1f31bac640 fixing linux sanity tests 5 years ago
amzn-hdoke 11c3a75321
Enable Client Auth unit test on Linux (#1312) 5 years ago
srikappa-amzn 6d15a0d6e9 Merge branch 'stabilization/2106' into FixLinuxBenchmarks 5 years ago
srikappa-amzn bf1b800136 minor change to order of if and foreach 5 years ago
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>
5 years ago
srikappa-amzn bbae6490d9 Enabled LyTestTools trait only for windows and mac 5 years ago
amzn-sj 607f32fae6 No need to check if the first character is a number. This is already validated before. 5 years ago
amzn-sj 2ee4d8ff6b Sanitize identifier names before substituting them in C++ template files 5 years ago
amzn-sj 6c056ad566 Remove duplicate definition of function 5 years ago
lumberyard-employee-dm 217eddc8bd
Fixing the enable_gem.py and disable_gem.py commands (#1207)
* Fixing the enable_gem.py and disable_gem.py commands
The project path wasn't taking into account when querying for gems,
templates and restricted directories registered with the project

Fixing the cmake.py add_gem_dependency and remove_gem_dependency methods
to properly detect a gem within a `set(ENABLED_GEM ...)` cmake variable
Also updated the add_gem_dependency to add the gem right before the end
marker of ')'
Updated the remove_gem_dependency to remove each instance of a gem with
a content that is in between in the `set(ENABLED_GEM ...)` cmake
variable

* Correct Typo in manifest.get_registered doc string
5 years ago
Esteban Papp 4b3d0d1054
LYN-4327 [SDK] External Gem's aren't added to the project solution when using SDK (#1191)
* should pickup the external directories registered by the project

* Add support for AzTest and AzTestRunner in the SDK

* missing IMPORT_LIB

* Moved where .Assets targets get generated so they are visible in the SDK

* generate the Directory.Build.props in the right path

* excluding target on platforms that dont support it
5 years ago
Scott Romero 3eb612b652
[main] option for installer upload to s3 (#1173)
Fixed issue with quoted regex when invoking upload_to_s3.py via script
Improved error handling in online install bootstrapper generation commands
5 years ago
evanchia b2a6616a31 fixed cwd error 5 years ago
evanchia 9afe5225e6 removing wildcard from rmdir, not windows compatible 5 years ago
evanchia 9373c5fd0d Fixing xml directory race condition on incremental runs 5 years ago
scottr 57faa2d377 [cpack_installer] installer upload to s3 5 years ago
amzn-mgwynn 38865c95e2
Merge pull request #1162 from aws-lumberyard-dev/Prism/gem-db
Adding python bindings for modifying project properties
5 years ago
mgwynn b0826c5f9c added tag managerment arguments for CLI to mutually exclusive group 5 years ago
mgwynn 6d6f8413c8 Incorporating review comments. Some parameter modifications. Some cli edge case handling. Remove remove_tag member from project info 5 years ago
Ibtehaj Nadeem 1ffcfa07e6
Remove Jenkins failure notifications (#958)
Remove Jenkins failure notifications
5 years ago
Alex Peterson aeaf1bcdbe
Fix engine settings not populating or saving
* Allow multiple settings to be registered at once
* Old manifests versions may not have default_third_party_folder
5 years ago
amzn-mgwynn ffdce2ef7f
Merge branch 'main' into Prism/gem-db 5 years ago
mgwynn 7984f82e48 Bing project_properties CLI to updateProject method. Update project info struct.
Update project properties cli to support lists for tags. Minor adjustments to support
changes.
5 years ago
Esteban Papp 1396110f6d
Preventing builds from cleaning on each step (#1151) 5 years ago
Esteban Papp cf35585bc0
Making incremental linking off by default (#1154) 5 years ago
scottr 0d1b217b24 Merge branch 'main' into cpack_installer 5 years ago
Scott Romero 64872e024e
[main] add 3rd party to engine registration
Merge pull request #1131 from aws-lumberyard-dev/default_3rdparty
5 years ago
scottr 4405c2275f [default_3rdparty] changed CLI argument type to pathlib.Path and removed optional str type from usage 5 years ago
Esteban Papp 29ac17a090
SPEC-7135 Provide a method to re-trigger compiler detection for changes that require it (#1092)
* SPEC-7135 Provide a method to re-trigger compiler detection for changes that require it

* removing check (is wrong and is not necessary)

* Invert existance check

* add empty lines at the end

* Clean is triggering on each build

* clearing if the variable is false

* test code to understand what is going on...

* yeap, looks good

* handling "false" in linux/mac

* fix for linux/mac

* Fixing typos
5 years ago
scottr d30fd8b1dd Merge branch 'main' into default_3rdparty 5 years ago
lumberyard-employee-dm 816d05ef2d
Updating manifest.py template query functions (#1113)
* Updating manifest.py template query functions
The get_project_templates, get_gem_templates and get_generic_templates
methods have been renamed to indicate that the methods return the
templates that can be used in a create-project, create-gem and
create-from-template command of the engine_template.py

Updated the print_registration.py script to support outputing project
specific gems and templates.
Add a unit test script for the manifest.py script.
Added unit test to validate the new functions:
`get_templates_for_project_creation`
`get_templates_for_gem_creation`
`get_templates_for_generic_creation`

* Implementing the project print registration methods

Added implementations of the project print registration methods and tested them locally
Removed implementations of the download print registration methods, since they have not went through app-sec review.

* Renaming get_restricted_data to get_restricted_json_data

Fixed the get_registered method in manifest.py when looking up projects

* Updated the print_manifest_json_data calls to return the result
5 years ago
scottr 85e6d06c2c [default_3rdparty] add 3rd party to engine registration + specific path registration fixes 5 years ago
amzn-mgwynn 77d861c124
Merge pull request #1108 from aws-lumberyard-dev/Prism/gem-db
Prism/gem db to main. Adding ability to modify project settings (display name, origin, icon, summary, user tags) through the o3de CLI with edit-project-properties using a project path or registered project name.
5 years ago
lumberyard-employee-dm dce87534c7
Removing the Pyside implementation of the project manager python scripts (#1112)
* Removing the Pyside implementation of the project manager python scripts

* Removing reference to the scripts/project_manager directory 

The Install_common.cmake script reference to the project_manager directory has been removed.
5 years ago
mgwynn e99a95d909 Added copyright header for validation 5 years ago
mgwynn 7bba5ed2fc Incorporated suggestion to use setdefault to handle missing tag property rather than explicitly checking for and creating it. 5 years ago
mgwynn 6681a53768 Add the ability to remove tags. Updated some descriptions, and updated some log messages to include parameters. 5 years ago
scottr bcef8856ff [cpack_installer] minor wording fixes 5 years ago
mgwynn 5838975d62 Incorporating review comments. Minor formatting changes and changes to parameter descriptions.
Removed try-catch for property modification and added creation of user_tags element if it does not exist
but is modified through CLI
5 years ago
scottr 8214706ff9 [cpack_installer] reworked how packaging is enabled for windows 5 years ago
scottr 5695681ed3 [cpack_installer] fifth attempt to fix cpack selection 5 years ago
mgwynn 35fed77223 Adding CLI script for modifying project properties (LYN-3918). Updating O3de to support it.
Fixing some typo errors in manifest.py and minor optimizations
5 years ago
scottr 3f9811e498 [cpack_installer] fifth attempt to fix cpack selection 5 years ago
scottr 01f3ba5608 [cpack_installer] fourth attempt to fix cpack selection 5 years ago
scottr 201d6b1b72 [cpack_installer] third attempt to fix cpack selection 5 years ago
scottr fd8cff6aec [cpack_installer] second attempt to fix cpack selection 5 years ago
scottr 197241f16d [cpack_installer] fixed issue with cpack selection 5 years ago
scottr 134258c18a [cpack_installer] add trailing newline to some new files 5 years ago
scottr c6e4e3ed1f [cpack_installer] few more small fixes to installer Jenkins scripts 5 years ago
scottr 4b40f23d0b [cpack_installer] couple small fixes to installer Jenkins scripts 5 years ago
scottr a1b8d1233c [cpack_installer] initial work for installer Jenkins jobs 5 years ago
Mike Chang 262c1c1132
Change node label for Mac/iOS for new AMI update (#1086)
Changes the default node label for Mac/iOS to the newest AMI

- This AMI contains updates for XCode and CMake
- CMake is now on 3.20.2
5 years ago
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
5 years ago
lumberyard-employee-dm 810d6a8deb Moved the add_gem_dependency and remove_gem_dependency methods to the cmake.py file
Fixed the add_gem_dependency method to append the newly added gem right after the 'set(ENABLED_GEMS...' line
5 years ago
lumberyard-employee-dm b3b5864f76 Added key checks for the o3de_manifest.json query functions to avoid python exceptions being raised 5 years ago
Alex Peterson a3e73948c5
Improved project creation validation
No longer requires project name to be part of the project path.
5 years ago
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
5 years ago
pappeste 58bad80ffa changing paths for the install location in Jenkins 5 years ago
lumberyard-employee-dm 23a5afeefb Renaming the unit_global_project.py to unit_test_global_project.py. This fixes the unit test not being found 5 years ago
lumberyard-employee-dm 74464afbf3 Updated the global_project.py script to be able to specify and output
path when setting the global project path
Also updated that script to support an input path when reading the
global project path.
Added a unit test for the global_projecy.py "set-global-project" command
5 years ago
lumberyard-employee-dm 87721cae55 Removed the ability to run download command from the o3de python package without user intervention 5 years ago
lumberyard-employee-dm 394ac7ab6a
Updated the enable gem and disable gem API (#54)
* Updated the enable gem and disable gem API
Renamed remove_gem_project.py -> disable_gem.py
Renamed add_gem_project.py -> enable_gem.py
Renamed the "add-gem-to-project" command -> "enable-gem"
Renamed the "remove-gem-from-project" command -> "disable-gem"

Fixed the parsing of the enabled gems from the enabled_gems.cmake file

* Adding newline to the end of the CMakeLists.txt
5 years ago
pappeste cba5c35de5 Merge branch 'ly-as-sdk/LYN-2948' of https://github.com/aws-lumberyard-dev/o3de into ly-as-sdk/LYN-2948 5 years ago
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
5 years ago
Terry Michaels 9b1be43367
Renamed osx_gl to mac and es3 to android for cache folders (#949) 5 years ago
lumberyard-employee-dm 44c8a19bce Fix Python TypeError in the engine_template.py create-project command 5 years ago
Brian Herrera d99fea7a98
[Inclusion] Rename parameter for retry config
Parameter was renamed to allowed_methods in urllib3 1.26.0. Both options are currently available in the version we are using now.
5 years ago
Steve Pham d4587d1f99
Add Label Exclusion filter for Sandbox tests from the main test suites (#955) 5 years ago
SJ 8ca3b078a2
Remove bootstrap.cfg and some references to it.
Merge pull request #836 from aws-lumberyard-dev/LYN-2461
5 years ago
pappeste a421b4cb71 Merge remote-tracking branch 'origin/ly-as-sdk/LYN-2948-phistere' into ly-as-sdk/LYN-2948
# Conflicts:
#	scripts/o3de.py
5 years ago
lumberyard-employee-dm 607dbc47b3 Surrouding the setting of the BASE_PATH within double quotes in the o3de.bat script. This allows to allow paths with spaces in it leading to the engine root directory to work properly when running the script 5 years ago
pappeste e8428b42be Adjusting o3de path to run from install (authored by @lumberyard-employee-dm) 5 years ago
lumberyard-employee-dm 62d196da30 Removed tool and server gem query functions from the ProjectManager projects.py script
Updated the mentions of the runtime gem targets to just be general project gem targets
5 years ago
lumberyard-employee-dm 922099050b Simplified the o3de package gem enable/disable logic
The add_gem_project and remove_gem project scripts, now just enables on
a gem name basis instead of a CMake target basis

Updated the ProjectManager code and scripts to account for the
add_gem_project and rmeove_gem_project script changes.
5 years ago
lumberyard-employee-dm 59934e6be1 Updating the ProjectManager code and scripts with new layout of the o3de package scripts 5 years ago
lumberyard-employee-dm 76fe7f3666 Merge branch 'main' of https://github.com/aws-lumberyard/o3de into ly-as-sdk/LYN-2948-phistere 5 years ago
lumberyard-employee-dm 80f9da800a insert the scripts/o3de folder to the front of the sys.path for the o3de.py script to allow the o3de package scripts to be imported 5 years ago
Steve Pham 6136bc270e
Remove flaky test from AzNetwork instead of using retry
- Remove '--repeat until-pass' from profile test ctest argument
- Moved flaky TCP tests from main googletest suite to sandbox
- Added 'TARGET' to 'ly_add_googletest' to support adding the same module to multiple tests or adding a test that is not named the same as the module
- Fix minor bug in ly_add_googletest
5 years ago
Alex Peterson 82b4b83256
Launch o3de.exe instead of project_manager.py
Launch the o3de project manager application instead of project_manager.py when the editor is started but no project is specified.
5 years ago
Mike Chang 3d88774050
Inclusive language edit
- Small edit to remove non-inclusive language in a comment
5 years ago
lumberyard-employee-dm d3fb2dd68c Removed the add_external_subdirectory and add_gem_cmake python scripts
as well as their remove counterparts.

Updated teh register.py script to be able to register subdirectories to
the o3de_manifest.json
Also added the ability to register external subdirectories to the
project.json if the --external-subdirectory-project-path is supplied
Added the ability to register external subdirectories to the engine.json
if the --external-subdirector-engine-path is supplied
5 years ago
lumberyard-employee-dm 1a95b96985 Fixed importing of o3de package modules within the o3de.py script when a relative path is used to invoke it 5 years ago
lumberyard-employee-dm 57bdc58c68 Renamed the unit_test_registration.py script to be unit_test_register.py to be inline with the register.py script 5 years ago
lumberyard-employee-dm e59b154139 Updated the refactored o3de command scripts to be able to run standalone by adding a main section
Removed the ability to suppress errors in the add-gem-to-cmake and add-external-subdirectory command
Reduced duplicate logic in the download.py, register.py and repo.py scripts
Removed the registration.py script and moved the registration of those comamnds directly to the o3de.py script
Reduced the exception scope in the o3de command scripts to be as constrained as possible.
For example instead of having a block of Exception for catching a dictionary KeyError, the block has been updated to just catch KeyError
Added a python test for validating the "register.py --this-engine" functionality
5 years ago
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 5 years ago
amzn-sj d369912727 Merge branch 'main' into LYN-2461 5 years ago
evanchia ed3b1dd8d5 adding explicit url for test metrics 5 years ago
lumberyard-employee-dm 530c9a424e Updating the manifest get_registered command to read the engine projects, gems, external_subdirectories, restricted and templates paths from the engine.json 5 years ago
lumberyard-employee-dm d422083faa Merge branch 'ly-as-sdk/LYN-2948-phistere' of https://github.com/aws-lumberyard-dev/o3de into ly-as-sdk/Engine-Gem-Tracking 5 years ago
lumberyard-employee-dm 470fde461f Removed engine registration from the Jenkins build scripts which builds the Engine in an engine centric manner 5 years ago
lumberyard-employee-dm a9bc8e943d Refactored the o3de registration.py script into several files which each
contains the implementation of a subparser command.

Updated the register command to be not register engine gems, templates,
projects and external subdirectories to the o3de_manifest

Updated the register-show command to be able to read the engine's gems,
templates, projects and external subdirectories from the engine.json
file
5 years ago
Steve Pham 42ccdf0572
Python3 installation script for Linux machines (#832) 5 years ago
phistere 7a25a17fae Fixes a few issues when using an engine name different from the default 5 years ago
amzn-sj 268fd8b714 Remove bootstrap.cfg and references to it. 5 years ago
phistere 0ba2900fdd Fixes and issue with o3de scripts assuming the wrong directory as the engine directory 5 years ago
ibtehajn 3c3f3fa91e Disable shallow checkout in initial setup step
Performing a shallow checkout breaks changelog computation, which is
required for accurate build failure notifications.
5 years ago
ibtehajn c49875fc37 Use author instead of committer in changelog computations
Any commits created through the GitHub UI (e.g. commits created by
merging PRs) usually assign GitHub itself as the ccommitter. This is
expected behaviour, as the commit is applied by GitHub itself. However,
for the purposes of changelog creation, showing the author (e.g. the
person who clicked the merge button on the PR) is more useful.
5 years ago
lumberyard-employee-dm c6b0e3562e Updating the python import paths for the o3de scripts to use the new package o3de package location 5 years ago