-
Notifications
You must be signed in to change notification settings - Fork 12
Acre
Currently we have been dropping the .toml
environments for our applications and have adopted Acre for some slightly more involved environment management.
As such the Acre Branch is actually our most active branch.
The nice thing with acre is that we could define one global.json
and maya2018.json
instead of relying one one .toml
file for the application that embeds all data. This allows to make it more easy to manage the environment that our full studio shares.
Additionally, it simplified how we submit our render jobs. We didn't have to pass along the explicit environment variables but we could just pass along global;maya2018
so that the renderfarm machines could recreate the same environment in their own way.
That allowed compatibility across multiple OS-es. As maya2018
could define a different environment for Maya on Linux blades than it would build up for Windows machines.
The acre
branch uses some minor changes in core to force the launching of applications to use acre to build the environment. As such you'll need to work with the colorbleed/core acre branch for the Launcher to correctly understand how to launch the applications in the colorbleed-config
acre
branch.
As this was an ad hoc solution we tried to change as little as possible in core, since we believed we would switch to a more elaborate system in the future. For example Rez or Allzpark. Because we changed so little Avalon's launcher still relies on .toml
files to exist, however they can now be trimmed down to only the core necessities. For example:
maya2018.toml
application_dir = "maya"
default_dirs = [
"scenes",
"data",
"renderData/shaders",
"images",
"renders"
]
label = "Autodesk Maya 2018"
schema = "avalon-core:application-1.0"
executable = "maya"
description = ""
icon = "cubes"
color = "#CCBD14"
order = -2
[copy]
"{COLORBLEED_CONFIG}/res/workspace.mel" = "workspace.mel"
[environment]
AVALON_TOOLS="global;maya2018;yeti3.1.11;ffmpeg"
CREATE_NEW_CONSOLE = "Yes"
For example, global.json
could contain:
global.json
{
"SERVER_P": {
"windows": "P:",
"linux": "/mnt/P"
},
"CB_PIPELINE": "{SERVER_P}/pipeline",
"COLORBLEED_CONFIG": "{CB_PIPELINE}/2.1_dev/git/colorbleed-config",
"AVALON_CORE": "{CB_PIPELINE}/2.1_dev/git/avalon-core",
"AVALON_SETUP": "{CB_PIPELINE}/2.1_dev/git/avalon-setup",
"AVALON_CONFIG": "colorbleed",
"AVALON_LABEL": "Avalon",
"AVALON_PROJECTS": "{SERVER_P}/Projects",
"AVALON_DEADLINE": "http://cbserver:8082",
"AVALON_MONGO": "mongodb://STORAGE1:27017",
"AVALON_EARLY_ADOPTER": "1",
"CGWIRE_HOST": "https://colorbleed.cg-wire.com/api",
}
And maya2018.json
could contain:
maya2018.json
{
"MAYA_VERSION": "2018",
"MAYA_LOCATION": {
"darwin": "/Applications/Autodesk/maya{MAYA_VERSION}/Maya.app/Contents",
"linux": "/usr/autodesk/maya{MAYA_VERSION}",
"windows": "C:/Program Files/Autodesk/Maya{MAYA_VERSION}"
},
"PATH": {
"darwin": "{MAYA_LOCATION}/bin;{PATH}",
"linux": "{MAYA_LOCATION}/bin;{PATH}",
"windows": [
"{MAYA_LOCATION}/bin",
"C:/Program Files/Common Files/Autodesk Shared/",
"C:/Program Files (x86)/Autodesk/Backburner/",
"{PATH}"
]
},
"DYLD_LIBRARY_PATH": {
"darwin": "{MAYA_LOCATION}/MacOS"
},
"MAYA_DISABLE_CLIC_IPM": "Yes",
"MAYA_DISABLE_CIP": "Yes",
"MAYA_DISABLE_CER": "Yes",
"PYMEL_SKIP_MEL_INIT": "Yes",
"LC_ALL": "C",
"CB_MAYA_SHARED": "{CB_PIPELINE}/dev/apps/maya_shared/{MAYA_VERSION}",
"XBMLANGPATH": [
"{CB_MAYA_SHARED}/prefs/icons",
"{XBMLANGPATH}"
],
"PYTHONPATH": [
"{CB_PIPELINE}/dev/git/maya-capture",
"{CB_PIPELINE}/dev/git/maya-capture-gui",
"{CB_PIPELINE}/dev/git/maya-capture-gui-cb",
"{AVALON_CORE}/setup/maya",
"{PYTHONPATH}"
],
"COLORBLEED_SCRIPTS": "{CB_PIPELINE}/dev/git/cbMayaScripts/cbMayaScripts",
"VRAY_USE_THREAD_AFFINITY": "0",
"MAYA_ENABLE_LEGACY_VIEWPORT": "1",
}