Commit Graph

64 Commits

Author SHA1 Message Date
AMZN-nggieber 2c7f6f9742 Adds Links to Gem Directory and Documentation for Gems (#2922)
* Changed blue text to white that is not meant as a link, made 'View in Director' link work for gems in the inspector, added parsing for gem documentation link

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

* Added documentation links for gems, changed markup for urls in summaries and requirements so they are clickable

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

* Fixed a couple of the documentation links

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

* Added documentation url to edit gem properties script and updated unit tests

Signed-off-by: nggieber <nggieber@amazon.com>
2021-08-06 10:19:35 -05: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
lumberyard-employee-dm 6ebf3a93d1 Added protection in the register python script queries of the default folders against a non-existent key causing a KeyError in python (#1946)
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-07-09 12:56:29 -05:00
lumberyard-employee-dm 02922806a5 Updated gem.json for all top-level Gems. (#1715) (#1917)
* Updated gem.json for all top-level Gems. All the top level gems now have identical gem.json formats based on the DefautlGem template gem.json. Two additional fields have been added, a type: field and a requirements: field. These fields are for display in Project Mananger. All gem.json files have a default requirements: value of None. Devs are responsible for providing requirements. Gem descriptions and tags have been signed off by developers.

Signed-off-by: Cronin <mikecro@amazon.com>

* Fixed minor formatting issues with RADTelemetry gem.json

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

* Adding newline to QtForPython gem.json

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

* Adding newline to the Twitch gem.json

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

* Adding newline to AWSCore gem.json

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

* Adding newline to the AtomTressFX gem.json

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

* Adding newline to the end of the AudioEngineWwise gem.json

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

* Adding newline to the end of the CertificateManager gem.json

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

* Removing extra whitespace in summary of CrashReporting gem.json

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

* Adding newline to the end of the CustomAssetExample gem.json

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

* Removing extra whitespace in editorPythonBindings gem summary

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

* Adding newline to the end of the ScriptedEntityTweener gem.json

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

* Adding newline to the end of the Gestures gem.json

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

* Removing extra whitetspace in the summary of the GameStateSamples gem

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

* Adding newline to the end of the ExpressionEvaluation gem.json

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

* Updated the ProjectManager PythonBindings.cpp code to reference the
newer fields in the gem.json files

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

* Updating the Gem and Project templates gem.json files to include the
"type" and the "requirements" field.

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

* Updated the default "requirments" field value to be empty string instead
of "None"

This works better with the ProjectManager GemInfoFromPath function.

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

* Correcting "summary" field name

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

* Added the requirements text to the AudioEngineWwise Gem

This gem requires downloading the Wwise 3rdParty library from AudioKinetic's website

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

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

Co-authored-by: Mike Cronin <58789750+micronAMZN@users.noreply.github.com>
2021-07-07 13:29:33 -05:00
lumberyard-employee-dm d73a98aa2f Added detection of gems which are not directly under an external subdirectory root (#1841)
* Added proper detection of the list of Gems in the Project Templates
enabled_gems.cmake file

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

* Added a CMake alias target for the Atom Gem and the AtomLyIntegration

Both of those targets just aliases the Atom_AtomBridge gem
Therefore they turn on Atom

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

* Replacing the Atom_AtomBridge gem in the project template with the Atom gem

The Atom gem is just an alias to the Atom_AtomBridge gem

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

* Updated the manifest.py gem gathering logic to recurse through the external subdirecotories locating gem.json files to discover all gems in a subdirectory

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-07-02 21:46:26 -05:00
AMZN-nggieber d4e4ebc2a7 Change Standard Project Template to Default and Change Open 3D Foundation to Open 3D Engine in gem catalog (#1842)
Made Standard Template Always Show First and Default Selection
    Changed Open 3D Foundation to Open 3D Engine in Gem Catalog and setup detection of Origin based on gem creator
2021-07-02 19:32:41 -07:00
pconroy ae6a424064 Make remove_invalid_o3de_projects take a path and return a value
Signed-off-by: pconroy <pconroy@amazon.com>
2021-07-01 20:10:16 -07:00
pconroy e0c3d15d5a Remove deleted projects from project manager
Signed-off-by: pconroy <pconroy@amazon.com>
2021-07-01 20:10:10 -07: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
Steve Pham 70042fcdcd O3DE Copyright Updates for Linux Foundation (#1504) 2021-06-23 10:55:22 -07:00
Alex Peterson aa885e5d0b Fix project creation (#1445)
* Add ability to change project name

* Fixed several issues where path types were changed

* Added PythonBindings CreateProject unit test

* Fix python warning format

* Validate new project name in CLI

* Fix issue creating pathview on linux

* Use better testing macros

* Refactored the unit_test_engine_template.py test to actually test
against the current engine_template.py commands

The commands of create-template, create-from-template, create-project
and create-gem is now being validated.

Registered the unit_test_engine_template.py script with CTest in the smoke test
suite so that it runs in Automated Review

Fixed issues in the engine_template.py script where the template_restricted_path parameter was required in the create_project and create_gem functions

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-06-23 09:19:17 -07:00
AMZN-nggieber bc3aa45ed9 Prism Show Gem Requirements and Prompt when Adding Gems with Requirements (#1478)
* Added requirements section to gem inspector

* Added Dialog when configuring for gems with extra requirements
2021-06-22 19:44:33 -07:00
AMZN-nggieber e21443b5d6 Added Project Preview to Project Settings and Fixed Issues with Moving Projects (#1380)
* Updated Project Settings Screen with preview and fixed moving projects

* Tests for some Project Utils

* Remove old defined consts

* Update UX to use display name when avaliable where appropriate

* Use newPreviewImagePath for temp changing preview.png otherwise use iconPath for preview in UX

* Removed use of newPreviewImagePath in ProjectButton
2021-06-22 17:24:48 -07:00
Alex Peterson ecded991b5 Display error when unable to start Python
Added AzFramework Application, logging, unit tests
2021-06-14 17:02:22 -07:00
scottr 5061241992 [cpack/stabilization/2106] early out if sys import fails in PythonBindings::StartPython 2021-06-09 17:03:13 -07:00
scottr 2eefc08d2e [cpack/stabilization/2106] fixed startup crash in project manager from installer build 2021-06-09 15:21:30 -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
Alex Peterson 7ca7ad9b72 Fix missing user_tags exception and configure gems button 2021-06-07 19:50:40 -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 1900a42203 remove const ref from iterator for python object conversion since pybind only returns copies and produces a clang error 2021-06-07 15:43:47 -04:00
mgwynn 01b200ad42 removing unused define 2021-06-07 14:19:48 -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
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
AMZN-nggieber 3b60bcc0f1 Project Manager Build Project from Projects Page (#1142)
* Added loading bar mode to project button

* Added ProjectBuilder files

* commmit current progress for project building

* Push current project building work

* Full build commands built out and message boxes for lots of situation

* Replaced defaultProjectImage placeholder

* Added installed cmake path to builder process env PATH
2021-06-04 18:41:30 -07:00
mgwynn accd473ff5 Adding python bindings for modifying project properties 2021-06-04 20:19:38 -04:00
Alex Peterson 9b17754278 Project Template details and preview changes 2021-06-04 16:14:25 -07:00
scottr 9e7f8e45eb [default_3rdparty] fixed typo 2021-06-03 18:23:54 -07:00
scottr 08a2e50ee3 [default_3rdparty] missed updating a call to register 2021-06-03 16:28:15 -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
scottr c41283c3ec Merge branch 'main' into ftue_auto_register 2021-06-02 13:22:14 -07:00
Benjamin Jillich e7e85f91d6 Addressing PR feedback 2021-06-02 19:08:10 +02:00
Benjamin Jillich 53615230c1 [LYN-2514] Adding get engine gem infos to the python bindings 2021-06-02 17:49:40 +02:00
scottr 5554bdf329 [ftue_auto_register] use early return in registered engines loop instead of break 2021-06-02 08:46:57 -07:00
scottr 39d1f27021 [ftue_auto_register] post merge and linux build fixes 2021-06-02 08:39:57 -07:00
scottr 85fcac60a1 Merge branch 'main' into ftue_auto_register 2021-06-02 07:59:05 -07:00
Benjamin Jillich ede8daaece [LYN-2514] Extending pythin bindings to adapt CLI changes for the gem catalog
* Added ExecuteWithLockErrorHandling() which returns an outcome with the actual error we get from python so that we can expose that to the UI.
* Added cmake pybind.
* Get gems now calling get_all_gems and alphabetically sorting the result.
* Added get enabled gems function which first gets the cmake enabled gems file path from the project path and then the list of gem names that are enabled.
* Some changes to the enable and disable gem functions.
2021-06-02 13:27:55 +02:00
Alex Peterson a3e73948c5 Improved project creation validation
No longer requires project name to be part of the project path.
2021-06-01 15:32:57 -07:00
pappeste ddab4cf53a Fix for register python bindings 2021-05-28 10:06:21 -07:00
pappeste 9ad70608e8 Fixing compilation failure 2021-05-28 09:46:27 -07:00
pappeste 95b560ba3b Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	Code/Tools/ProjectManager/Source/PythonBindings.cpp
2021-05-28 09:37:39 -07:00
AMZN-nggieber 96080d85e4 Project Manager Support Add Existing Projects, Removing, Copying, and Deleting (#961)
* Add Add/RemoveProject to Python Bindings

* Support Project, Add, Remove, Copy, Delete

* Open parent directory when duplicating to discourage path in owning dir

* Remove extra connects for new projects button

* Center project image
2021-05-28 09:32:47 -07:00
scottr e1dfac34fc [ftue_auto_register] wrapped registration pybind calls with ExecuteWithLock 2021-05-27 15:24:39 -07:00
scottr 3137b961bf [ftue_auto_register] elevated error to assert if registration fails 2021-05-27 14:54:51 -07:00
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
2021-05-27 16:44:50 -05:00
scottr ecc18338fa [ftue_auto_register] move engine registration check into private helper function 2021-05-27 14:19:31 -07:00
scottr 78afc45709 [ftue_auto_register] add logic to auto register engine if it is not already 2021-05-27 12:39:14 -07:00