mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 08:24:53 +01:00
use applications addon arguments to call extractenvironments
This commit is contained in:
parent
4cc8f8fb7f
commit
6a569c9e21
1 changed files with 39 additions and 17 deletions
|
|
@ -463,19 +463,13 @@ def inject_ayon_environment(deadlinePlugin):
|
|||
export_url = os.path.join(tempfile.gettempdir(), temp_file_name)
|
||||
print(">>> Temporary path: {}".format(export_url))
|
||||
|
||||
args = [
|
||||
"--headless",
|
||||
"extractenvironments",
|
||||
export_url
|
||||
]
|
||||
|
||||
add_kwargs = {
|
||||
"envgroup": "farm",
|
||||
}
|
||||
# Support backwards compatible keys
|
||||
for key, env_keys in (
|
||||
("project", ["AYON_PROJECT_NAME", "AVALON_PROJECT"]),
|
||||
("asset", ["AYON_FOLDER_PATH", "AVALON_ASSET"]),
|
||||
("folder", ["AYON_FOLDER_PATH", "AVALON_ASSET"]),
|
||||
("task", ["AYON_TASK_NAME", "AVALON_TASK"]),
|
||||
("app", ["AYON_APP_NAME", "AVALON_APP_NAME"]),
|
||||
):
|
||||
|
|
@ -486,18 +480,37 @@ def inject_ayon_environment(deadlinePlugin):
|
|||
break
|
||||
add_kwargs[key] = value
|
||||
|
||||
if job.GetJobEnvironmentKeyValue("IS_TEST"):
|
||||
args.append("--automatic-tests")
|
||||
|
||||
if all(add_kwargs.values()):
|
||||
for key, value in add_kwargs.items():
|
||||
args.extend(["--{}".format(key), value])
|
||||
else:
|
||||
if not all(add_kwargs.values()):
|
||||
raise RuntimeError((
|
||||
"Missing required env vars: AYON_PROJECT_NAME,"
|
||||
" AYON_FOLDER_PATH, AYON_TASK_NAME, AYON_APP_NAME"
|
||||
))
|
||||
|
||||
# Use applications addon arguments
|
||||
# TODO validate if applications addon should be used
|
||||
args = [
|
||||
"--headless",
|
||||
"addon",
|
||||
"applications",
|
||||
"extractenvironments",
|
||||
export_url
|
||||
]
|
||||
# Backwards compatibility for older versions
|
||||
legacy_args = [
|
||||
"--headless",
|
||||
"extractenvironments",
|
||||
export_url
|
||||
]
|
||||
if job.GetJobEnvironmentKeyValue("IS_TEST"):
|
||||
args.append("--automatic-tests")
|
||||
|
||||
for key, value in add_kwargs.items():
|
||||
args.extend(["--{}".format(key), value])
|
||||
# Legacy arguments expect '--asset' instead of '--folder'
|
||||
if key == "folder":
|
||||
key = "asset"
|
||||
legacy_args.extend(["--{}".format(key), value])
|
||||
|
||||
environment = {
|
||||
"AYON_SERVER_URL": ayon_server_url,
|
||||
"AYON_API_KEY": ayon_api_key,
|
||||
|
|
@ -516,9 +529,18 @@ def inject_ayon_environment(deadlinePlugin):
|
|||
)
|
||||
|
||||
if process_exitcode != 0:
|
||||
raise RuntimeError(
|
||||
"Failed to run Ayon process to extract environments."
|
||||
print(
|
||||
"Failed to run AYON process to extract environments. Trying"
|
||||
" to use legacy arguments."
|
||||
)
|
||||
legacy_args_str = subprocess.list2cmdline(legacy_args)
|
||||
process_exitcode = deadlinePlugin.RunProcess(
|
||||
exe, legacy_args_str, os.path.dirname(exe), -1
|
||||
)
|
||||
if process_exitcode != 0:
|
||||
raise RuntimeError(
|
||||
"Failed to run AYON process to extract environments."
|
||||
)
|
||||
|
||||
print(">>> Loading file ...")
|
||||
with open(export_url) as fp:
|
||||
|
|
@ -634,4 +656,4 @@ def __main__(deadlinePlugin):
|
|||
if ayon_publish_job == "1":
|
||||
inject_render_job_id(deadlinePlugin)
|
||||
if ayon_render_job == "1" or ayon_remote_job == "1":
|
||||
inject_ayon_environment(deadlinePlugin)
|
||||
inject_ayon_environment(deadlinePlugin)
|
||||
Loading…
Add table
Add a link
Reference in a new issue