Commit Graph

228 Commits

Author SHA1 Message Date
amzn-hdoke 556d607a5e Make AWSCore.Editor tests windows only (#1410) 2021-06-18 16:30:49 -07:00
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
2021-06-17 13:58:20 -05:00
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
2021-06-15 20:44:23 -05:00
amzn-hdoke 11c3a75321 Enable Client Auth unit test on Linux (#1312) 2021-06-14 13:54:04 -07:00
srikappa-amzn 6d15a0d6e9 Merge branch 'stabilization/2106' into FixLinuxBenchmarks 2021-06-11 16:50:03 -07:00
srikappa-amzn bf1b800136 minor change to order of if and foreach 2021-06-11 10:25:28 -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
srikappa-amzn bbae6490d9 Enabled LyTestTools trait only for windows and mac 2021-06-10 14:38:14 -07:00
amzn-sj 607f32fae6 No need to check if the first character is a number. This is already validated before. 2021-06-10 13:34:16 -07:00
amzn-sj 2ee4d8ff6b Sanitize identifier names before substituting them in C++ template files 2021-06-10 11:01:23 -07:00
amzn-sj 6c056ad566 Remove duplicate definition of function 2021-06-09 15:29:39 -07:00
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
2021-06-09 14:14:01 -05:00
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
2021-06-08 14:01:50 -07:00
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
2021-06-08 09:30:20 -07:00
evanchia b2a6616a31 fixed cwd error 2021-06-07 18:50:21 -07:00
evanchia 9afe5225e6 removing wildcard from rmdir, not windows compatible 2021-06-07 18:39:03 -07:00
evanchia 9373c5fd0d Fixing xml directory race condition on incremental runs 2021-06-07 18:31:57 -07:00
scottr 57faa2d377 [cpack_installer] installer upload to s3 2021-06-07 15:15:14 -07:00
amzn-mgwynn 38865c95e2 Merge pull request #1162 from aws-lumberyard-dev/Prism/gem-db
Adding python bindings for modifying project properties
2021-06-07 16:59:10 -04:00
mgwynn b0826c5f9c added tag managerment arguments for CLI to mutually exclusive group 2021-06-07 15:08:18 -04:00
mgwynn 6d6f8413c8 Incorporating review comments. Some parameter modifications. Some cli edge case handling. Remove remove_tag member from project info 2021-06-07 14:14:32 -04:00
Ibtehaj Nadeem 1ffcfa07e6 Remove Jenkins failure notifications (#958)
Remove Jenkins failure notifications
2021-06-07 12:53:07 +01:00
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
2021-06-04 21:29:36 -07:00
amzn-mgwynn ffdce2ef7f Merge branch 'main' into Prism/gem-db 2021-06-04 23:19:47 -04:00
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.
2021-06-04 23:03:17 -04:00
Esteban Papp 1396110f6d Preventing builds from cleaning on each step (#1151) 2021-06-04 15:46:19 -07:00
Esteban Papp cf35585bc0 Making incremental linking off by default (#1154) 2021-06-04 15:25:57 -07:00
scottr 0d1b217b24 Merge branch 'main' into cpack_installer 2021-06-04 06:45:43 -07:00
Scott Romero 64872e024e [main] add 3rd party to engine registration
Merge pull request #1131 from aws-lumberyard-dev/default_3rdparty
2021-06-03 19:32:59 -07:00
scottr 4405c2275f [default_3rdparty] changed CLI argument type to pathlib.Path and removed optional str type from usage 2021-06-03 18:23:01 -07:00
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
2021-06-03 18:05:05 -07:00
scottr d30fd8b1dd Merge branch 'main' into default_3rdparty 2021-06-03 16:24:55 -07:00
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
2021-06-03 18:16:22 -05:00
scottr 85e6d06c2c [default_3rdparty] add 3rd party to engine registration + specific path registration fixes 2021-06-03 16:09:10 -07:00
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.
2021-06-03 16:10:56 -04:00
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.
2021-06-03 14:37:16 -05:00
mgwynn e99a95d909 Added copyright header for validation 2021-06-03 15:02:18 -04:00
mgwynn 7bba5ed2fc Incorporated suggestion to use setdefault to handle missing tag property rather than explicitly checking for and creating it. 2021-06-03 14:43:13 -04:00
mgwynn 6681a53768 Add the ability to remove tags. Updated some descriptions, and updated some log messages to include parameters. 2021-06-03 14:13:44 -04:00
scottr bcef8856ff [cpack_installer] minor wording fixes 2021-06-03 10:51:13 -07:00
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
2021-06-03 13:29:51 -04:00
scottr 8214706ff9 [cpack_installer] reworked how packaging is enabled for windows 2021-06-03 08:24:01 -07:00
scottr 5695681ed3 [cpack_installer] fifth attempt to fix cpack selection 2021-06-02 21:03:41 -07:00
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
2021-06-02 21:56:03 -04:00
scottr 3f9811e498 [cpack_installer] fifth attempt to fix cpack selection 2021-06-02 18:40:22 -07:00
scottr 01f3ba5608 [cpack_installer] fourth attempt to fix cpack selection 2021-06-02 17:58:58 -07:00
scottr 201d6b1b72 [cpack_installer] third attempt to fix cpack selection 2021-06-02 17:29:50 -07:00
scottr fd8cff6aec [cpack_installer] second attempt to fix cpack selection 2021-06-02 16:10:41 -07:00
scottr 197241f16d [cpack_installer] fixed issue with cpack selection 2021-06-02 15:40:41 -07:00
scottr 134258c18a [cpack_installer] add trailing newline to some new files 2021-06-02 15:03:26 -07:00