diff --git a/scripts/plugin_staging.py b/scripts/plugin_staging.py index bd4986801ec..908ae6d5599 100644 --- a/scripts/plugin_staging.py +++ b/scripts/plugin_staging.py @@ -7,7 +7,7 @@ import shutil GXY_ROOT = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir)) -def link_up_static(f): +def stage_static(f): src = os.path.join(GXY_ROOT, 'config/plugins', f) dest = os.path.join(GXY_ROOT, 'static/plugins', f) dest_parent = os.path.abspath(os.path.join(dest, os.pardir)) @@ -18,12 +18,14 @@ def link_up_static(f): else: shutil.rmtree(dest) elif not os.path.exists(dest_parent): - # Create parent dir structure to symlink directly to static. os.makedirs(dest_parent) try: - os.symlink(src, dest) + if os.path.isdir(src): + shutil.copytree(src, dest) + else: + shutil.copy(src, dest) except Exception: - print("Error symlinking '%s' to '%s'" % (src, dest)) + print("Error copying '%s' to '%s'" % (src, dest)) raise @@ -31,4 +33,4 @@ if __name__ == "__main__": # This is not awesome, but it's temporary, and it supports two-tier plugin static. for f in glob.glob(os.path.join(GXY_ROOT, 'config/plugins/*/*/static')) + glob.glob(os.path.join(GXY_ROOT, 'config/plugins/*/*/*/static')): f = os.path.relpath(f, os.path.join(GXY_ROOT, 'config/plugins')) - link_up_static(f) + stage_static(f)