This repository has been archived by the owner on Sep 20, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 129
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1522 from pypeclub/feature/1405-default-environme…
…nts-per-host-imlementation
- Loading branch information
Showing
12 changed files
with
275 additions
and
80 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
def add_implementation_envs(env, _app): | ||
"""Modify environments to contain all required for implementation.""" | ||
defaults = { | ||
"OPENPYPE_LOG_NO_COLORS": "True", | ||
"WEBSOCKET_URL": "ws://localhost:8097/ws/" | ||
} | ||
for key, value in defaults.items(): | ||
if not env.get(key): | ||
env[key] = value |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import os | ||
|
||
|
||
def add_implementation_envs(env, _app): | ||
"""Modify environments to contain all required for implementation.""" | ||
# Prepare path to implementation script | ||
implementation_user_script_path = os.path.join( | ||
os.environ["OPENPYPE_REPOS_ROOT"], | ||
"repos", | ||
"avalon-core", | ||
"setup", | ||
"blender" | ||
) | ||
|
||
# Add blender implementation script path to PYTHONPATH | ||
python_path = env.get("PYTHONPATH") or "" | ||
python_path_parts = [ | ||
path | ||
for path in python_path.split(os.pathsep) | ||
if path | ||
] | ||
python_path_parts.insert(0, implementation_user_script_path) | ||
env["PYTHONPATH"] = os.pathsep.join(python_path_parts) | ||
|
||
# Modify Blender user scripts path | ||
blender_user_scripts = env.get("BLENDER_USER_SCRIPTS") or "" | ||
previous_user_scripts = [] | ||
for path in blender_user_scripts.split(os.pathsep): | ||
if path and os.path.exists(path): | ||
path = os.path.normpath(path) | ||
if path != implementation_user_script_path: | ||
previous_user_scripts.append(path) | ||
|
||
env["OPENPYPE_BLENDER_USER_SCRIPTS"] = os.pathsep.join( | ||
previous_user_scripts | ||
) | ||
env["BLENDER_USER_SCRIPTS"] = implementation_user_script_path | ||
|
||
# Define Qt binding if not defined | ||
if not env.get("QT_PREFERRED_BINDING"): | ||
env["QT_PREFERRED_BINDING"] = "PySide2" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
import os | ||
|
||
|
||
def add_implementation_envs(env, _app): | ||
"""Modify environments to contain all required for implementation.""" | ||
openharmony_path = os.path.join( | ||
os.environ["OPENPYPE_REPOS_ROOT"], "pype", "vendor", "OpenHarmony" | ||
) | ||
# TODO check if is already set? What to do if is already set? | ||
env["LIB_OPENHARMONY_PATH"] = openharmony_path |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
import os | ||
import platform | ||
|
||
|
||
def add_implementation_envs(env, _app): | ||
# Add requirements to HIERO_PLUGIN_PATH | ||
pype_root = os.environ["OPENPYPE_REPOS_ROOT"] | ||
new_hiero_paths = [ | ||
os.path.join(pype_root, "openpype", "hosts", "hiero", "startup") | ||
] | ||
old_hiero_path = env.get("HIERO_PLUGIN_PATH") or "" | ||
for path in old_hiero_path.split(os.pathsep): | ||
if not path or not os.path.exists(path): | ||
continue | ||
|
||
norm_path = os.path.normpath(path) | ||
if norm_path not in new_hiero_paths: | ||
new_hiero_paths.append(norm_path) | ||
|
||
env["HIERO_PLUGIN_PATH"] = os.pathsep.join(new_hiero_paths) | ||
|
||
# Try to add QuickTime to PATH | ||
quick_time_path = "C:/Program Files (x86)/QuickTime/QTSystem" | ||
if platform.system() == "windows" and os.path.exists(quick_time_path): | ||
path_value = env.get("PATH") or "" | ||
path_paths = [ | ||
path | ||
for path in path_value.split(os.pathsep) | ||
if path | ||
] | ||
path_paths.append(quick_time_path) | ||
env["PATH"] = os.pathsep.join(path_paths) | ||
|
||
# Set default values if are not already set via settings | ||
defaults = { | ||
"LOGLEVEL": "DEBUG" | ||
} | ||
for key, value in defaults.items(): | ||
if not env.get(key): | ||
env[key] = value |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
import os | ||
|
||
|
||
def add_implementation_envs(env, _app): | ||
# Add requirements to HOUDINI_PATH and HOUDINI_MENU_PATH | ||
pype_root = os.environ["OPENPYPE_REPOS_ROOT"] | ||
|
||
startup_path = os.path.join( | ||
pype_root, "openpype", "hosts", "houdini", "startup" | ||
) | ||
new_houdini_path = [startup_path] | ||
new_houdini_menu_path = [startup_path] | ||
|
||
old_houdini_path = env.get("HOUDINI_PATH") or "" | ||
old_houdini_menu_path = env.get("HOUDINI_MENU_PATH") or "" | ||
|
||
for path in old_houdini_path.split(os.pathsep): | ||
if not path or not os.path.exists(path): | ||
continue | ||
|
||
norm_path = os.path.normpath(path) | ||
if norm_path not in new_houdini_path: | ||
new_houdini_path.append(norm_path) | ||
|
||
for path in old_houdini_menu_path.split(os.pathsep): | ||
if not path or not os.path.exists(path): | ||
continue | ||
|
||
norm_path = os.path.normpath(path) | ||
if norm_path not in new_houdini_menu_path: | ||
new_houdini_menu_path.append(norm_path) | ||
|
||
# Add ampersand for unknown reason (Maybe is needed in Houdini?) | ||
new_houdini_path.append("&") | ||
new_houdini_menu_path.append("&") | ||
|
||
env["HOUDINI_PATH"] = os.pathsep.join(new_houdini_path) | ||
env["HOUDINI_MENU_PATH"] = os.pathsep.join(new_houdini_menu_path) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
import os | ||
|
||
|
||
def add_implementation_envs(env, _app): | ||
# Add requirements to PYTHONPATH | ||
pype_root = os.environ["OPENPYPE_REPOS_ROOT"] | ||
new_python_paths = [ | ||
os.path.join(pype_root, "openpype", "hosts", "maya", "startup"), | ||
os.path.join(pype_root, "repos", "avalon-core", "setup", "maya"), | ||
os.path.join(pype_root, "tools", "mayalookassigner") | ||
] | ||
old_python_path = env.get("PYTHONPATH") or "" | ||
for path in old_python_path.split(os.pathsep): | ||
if not path or not os.path.exists(path): | ||
continue | ||
|
||
norm_path = os.path.normpath(path) | ||
if norm_path not in new_python_paths: | ||
new_python_paths.append(norm_path) | ||
|
||
env["PYTHONPATH"] = os.pathsep.join(new_python_paths) | ||
|
||
# Set default values if are not already set via settings | ||
defaults = { | ||
"OPENPYPE_LOG_NO_COLORS": "Yes" | ||
} | ||
for key, value in defaults.items(): | ||
if not env.get(key): | ||
env[key] = value |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
import os | ||
import platform | ||
|
||
|
||
def add_implementation_envs(env, _app): | ||
# Add requirements to NUKE_PATH | ||
pype_root = os.environ["OPENPYPE_REPOS_ROOT"] | ||
new_nuke_paths = [ | ||
os.path.join(pype_root, "openpype", "hosts", "nuke", "startup"), | ||
os.path.join( | ||
pype_root, "repos", "avalon-core", "setup", "nuke", "nuke_path" | ||
) | ||
] | ||
old_nuke_path = env.get("NUKE_PATH") or "" | ||
for path in old_nuke_path.split(os.pathsep): | ||
if not path or not os.path.exists(path): | ||
continue | ||
|
||
norm_path = os.path.normpath(path) | ||
if norm_path not in new_nuke_paths: | ||
new_nuke_paths.append(norm_path) | ||
|
||
env["NUKE_PATH"] = os.pathsep.join(new_nuke_paths) | ||
|
||
# Try to add QuickTime to PATH | ||
quick_time_path = "C:/Program Files (x86)/QuickTime/QTSystem" | ||
if platform.system() == "windows" and os.path.exists(quick_time_path): | ||
path_value = env.get("PATH") or "" | ||
path_paths = [ | ||
path | ||
for path in path_value.split(os.pathsep) | ||
if path | ||
] | ||
path_paths.append(quick_time_path) | ||
env["PATH"] = os.pathsep.join(path_paths) | ||
|
||
# Set default values if are not already set via settings | ||
defaults = { | ||
"LOGLEVEL": "DEBUG" | ||
} | ||
for key, value in defaults.items(): | ||
if not env.get(key): | ||
env[key] = value |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
def add_implementation_envs(env, _app): | ||
"""Modify environments to contain all required for implementation.""" | ||
defaults = { | ||
"OPENPYPE_LOG_NO_COLORS": "True", | ||
"WEBSOCKET_URL": "ws://localhost:8099/ws/" | ||
} | ||
for key, value in defaults.items(): | ||
if not env.get(key): | ||
env[key] = value |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
def add_implementation_envs(env, _app): | ||
"""Modify environments to contain all required for implementation.""" | ||
defaults = { | ||
"OPENPYPE_LOG_NO_COLORS": "True" | ||
} | ||
for key, value in defaults.items(): | ||
if not env.get(key): | ||
env[key] = value |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import os | ||
|
||
|
||
def add_implementation_envs(env, _app): | ||
"""Modify environments to contain all required for implementation.""" | ||
# Set AVALON_UNREAL_PLUGIN required for Unreal implementation | ||
unreal_plugin_path = os.path.join( | ||
os.environ["OPENPYPE_REPOS_ROOT"], "repos", "avalon-unreal-integration" | ||
) | ||
env["AVALON_UNREAL_PLUGIN"] = unreal_plugin_path | ||
|
||
# Set default environments if are not set via settings | ||
defaults = { | ||
"OPENPYPE_LOG_NO_COLORS": "True" | ||
} | ||
for key, value in defaults.items(): | ||
if not env.get(key): | ||
env[key] = value |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.