Refactor DCCsi to work better with O3DE changes (#4226)

* moving files in refactor/re-org

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* dev env refactor/re-org

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* moving/re-org so we can deprate the SDK nomiclature

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* moving/re-org so we can deprate the SDK nomiclature

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Refactoring env so I can replace SDK with Tools folder

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* re-org and prune, from SKD to Tools

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Removing old .bat files from SDK

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* updated how to retreive PYTHONHOME

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Can't use/set PYTHONHOME with DCC Tools

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* small refactor

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* repaired a missed typo (causes error)

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Added missing EntityId.h include to FocusModeInterface.h

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

* refactor additional LY to O3DE tags

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Some design scaffold file stubs

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* stubbing in scaffold file pattern

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Removal of corrupted prefabs

Signed-off-by: Benjamin Black <benblac@amazon.com>

* refactored config_utils to maintain py2.7 support for maya 2020

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* refactored config_utils to maintain py2.7 support for maya 2020

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* pruning and cleanup

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* .env is for local dev overrides

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* .env is for local dev overrides

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* clean up init and logging patterns

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* Core refactoring, config.py functional standalone

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* cleaned up some bad logging, fixed up boostrap

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* fixed validation errors

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* fix logging issue, tiddy up

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* tiddy up maya for .bat bootstraping and launch

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* name stub, fix validation

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Co-authored-by: Benjamin Black <benblac@amazon.com>
This commit is contained in:
Jonny Galloway
2021-10-21 19:03:49 -05:00
committed by GitHub
parent 50068bcae7
commit b779f358d0
197 changed files with 3779 additions and 3636 deletions
@@ -0,0 +1,38 @@
Copyright (c) Contributors to the Open 3D Engine Project.
For complete copyright and license terms please see the LICENSE at the root of this distribution.
SPDX-License-Identifier: Apache-2.0 OR MIT
-------------------------------------------------------------------------------
We .gitignore the folder .dev:
DccScriptingInterface\Solutions\.dev
Locally we put two things here foor development.
1. pyi inspection files, this makes it easier to add a single folder
to IDE configurations for api inspection and auto-complete
DccScriptingInterface\Solutions\.dev\pyi
DccScriptingInterface\Solutions\.dev\pyi\maya
DccScriptingInterface\Solutions\.dev\pyi\pymel
DccScriptingInterface\Solutions\.dev\pyi\PySide2
etc
2. Pyside2-tools
DccScriptingInterface\Solutions\.dev\QtForPython\pyside2-tools-dev
These are not currently part of the O3DE QtForPython Gem
But they can be valuable for development.
Ticket to include them in O3DE: https://jira.agscollab.com/browse/ATOM-13861
You can manually clone them from here: https://github.com/pyside/pyside2-tools
Note: if you want to use them as a python package
1. you will need to add as a site-package (PYTHONPATH)
2. you will need to rename a file:
this: pyside2-tools/pyside2uic/__init__.py.in
becomes: pyside2-tools/pyside2uic/__init__.py
Some examples are in: DccScriptingInterface\azpy\shared\ui\templates.py
@@ -0,0 +1,7 @@
.dev/*
!.dev/stub
!.dev/readme.txt
!.idea
!.vscode
!.wing
.venv
@@ -0,0 +1,2 @@
# Default ignored files
./workspace.xml
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$/..">
<sourceFolder url="file://$MODULE_DIR$/../SDK/Python/Lib/3.x/3.7.x/site-packages" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../azpy" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../.idea" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../3rdParty" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../Code" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../Editor" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../Launchers" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../MockProject" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../SDK" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$" type="java-resource" />
</content>
<orderEntry type="jdk" jdkName="Python 3.7 (Solutions) (2)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PyNamespacePackagesService">
<option name="namespacePackageFolders">
<list>
<option value="$MODULE_DIR$/../azpy" />
</list>
</option>
</component>
</module>
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
</project>
@@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
# !/usr/bin/python
#
# Copyright (c) Contributors to the Open 3D Engine Project.
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
#
#
# -------------------------------------------------------------------------
# This is a sample Python script.
# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
def print_hi(name):
# Use a breakpoint in the code line below to debug your script.
print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint.
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
print_hi('PyCharm')
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7 (Solutions) (2)" project-jdk-type="Python SDK" />
<component name="PyPackaging">
<option name="earlyReleasesAsUpgrades" value="true" />
</component>
</project>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/DccScriptingInterface.iml" filepath="$PROJECT_DIR$/.idea/DccScriptingInterface.iml" />
</modules>
</component>
</project>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../../../../.." vcs="Git" />
</component>
</project>
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="WebResourcesPaths">
<contentEntries>
<entry url="file://$PROJECT_DIR$/..">
<entryData>
<resourceRoots>
<path value="file://$PROJECT_DIR$/../azpy/shared/ui/resources" />
</resourceRoots>
</entryData>
</entry>
</contentEntries>
</component>
</project>
@@ -0,0 +1,11 @@
{
"folders": [
{
"path": "..\\.."
}
],
"settings": {
"python.envFile": "${workspaceFolder}/../../.env",
"python.pythonPath": "${env:DCCSI_PY_DEFAULT}"
}
}
@@ -0,0 +1,16 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"python": "${workspaceFolder}\\..\\..\\..\\..\\..\\..\\Tools\\Python\\3.7.5\\windows\\python.exe"
}
]
}
@@ -0,0 +1,5 @@
{
"python.envFile": "${workspaceFolder}/../../.env",
"python.pythonPath": "${workspaceFolder}\\..\\..\\..\\..\\..\\..\\Tools\\Python\\3.7.5\\windows\\python.exe",
"editor.wordWrap": "wordWrapColumn"
}
@@ -0,0 +1,77 @@
#!wing
#!version=7.0
##################################################################
# Wing project file #
##################################################################
[project attributes]
debug.launch-configs = (2,
{'launch-0L6se5pxC9AWvpY0': ({'shared': True},
{'buildcmd': ('project',
None),
'env': ('project',
[u'']),
'name': 'DCCSI_PY_IDE',
'pyexec': ('custom',
u'${DCCSI_PY_IDE}'),
'pypath': ('project',
[]),
'pyrunargs': ('project',
'-u'),
'runargs': u'',
'rundir': ('project',
u'')}),
'launch-GeaM41WYMGA1sEfm': ({'shared': True},
{'buildcmd': ('project',
None),
'env': ('custom',
[u'']),
'name': u'DCCSI_PY_MAYA',
'pyexec': ('custom',
u'${DCCSI_PY_MAYA}'),
'pypath': ('project',
[]),
'pyrunargs': ('project',
'-u'),
'runargs': u'',
'rundir': ('project',
u'')}),
'launch-WUN9lgYK6qYU7qE9': ({'shared': True},
{'buildcmd': ('project',
None),
'env': ('custom',
[u'']),
'name': u'DCCSI_PY_BASE',
'pyexec': ('custom',
u'${DCCSI_PY_BASE}'),
'pypath': ('project',
[]),
'pyrunargs': ('project',
'-u'),
'runargs': u'',
'rundir': ('project',
u'')})})
proj.directory-list = [{'dirloc': loc('../../../../..'),
'excludes': (),
'filter': u'*',
'include_hidden': False,
'recursive': True,
'watch_for_changes': True},
{'dirloc': loc('../../../../../../../../Atom/Feature/Common/Editor/Scripts/ColorGrading'),
'excludes': (),
'filter': u'*',
'include_hidden': False,
'recursive': True,
'watch_for_changes': True},
{'dirloc': loc('../../../../../../../../../python'),
'excludes': (),
'filter': u'*',
'include_hidden': False,
'recursive': True,
'watch_for_changes': True}]
proj.file-type = 'shared'
proj.launch-config = {loc('../../../../../azpy/core/py2/utils.py'): ('custom',
(u'',
'launch-0L6se5pxC9AWvpY0')),
loc('../../../../../azpy/core/py3/utils.py'): ('custom',
(u'',
'launch-0L6se5pxC9AWvpY0'))}
@@ -0,0 +1,12 @@
Copyright (c) Contributors to the Open 3D Engine Project.
For complete copyright and license terms please see the LICENSE at the root of this distribution.
SPDX-License-Identifier: Apache-2.0 OR MIT
-------------------------------------------------------------------------------
We .gitignore the folder .dev:
DccScriptingInterface\Solutions\.dev
The user can create this folder locally.
We use it to store .pyi files to add to IDE configurations
for api inspection and auto-complete functionality