From 3c56477f3a368526f8193ef51f15218953499e89 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Sat, 14 Oct 2023 19:19:44 +0300 Subject: [PATCH] Deploy marketplace plugin from base repo --- scripts/base.py | 30 +++++++++++++++++++++++++++--- scripts/build_js.py | 2 -- scripts/deploy_desktop.py | 31 ++----------------------------- scripts/deploy_server.py | 3 +-- scripts/develop/config_server.py | 2 +- 5 files changed, 31 insertions(+), 37 deletions(-) diff --git a/scripts/base.py b/scripts/base.py index 024c425..47d0366 100644 --- a/scripts/base.py +++ b/scripts/base.py @@ -14,6 +14,8 @@ import re import stat import json +__file__script__path__ = os.path.dirname( os.path.realpath(__file__)) + # common functions -------------------------------------- def get_script_dir(file=""): test_file = file @@ -1249,8 +1251,30 @@ def copy_sdkjs_plugin(src_dir, dst_dir, name, is_name_as_guid=False, is_desktop_ delete_dir(dst_deploy_dir) return +def copy_marketplace_plugin(dst_dir, is_name_as_guid=False, is_desktop_local=False): + git_dir = __file__script__path__ + "/../.." + if False: + # old version + base.copy_sdkjs_plugin(git_dir + "/desktop-sdk/ChromiumBasedEditors/plugins", dst_dir, "manager", is_name_as_guid, is_desktop_local) + return + src_dir_path = git_dir + "/onlyoffice.github.io/store/plugin" + name = "marketplace" + if is_name_as_guid: + name = "{AA2EA9B6-9EC2-415F-9762-634EE8D9A95E}" + + dst_dir_path = dst_dir + "/" + name + if is_dir(dst_dir_path): + delete_dir(dst_dir_path) + create_dir(dst_dir_path) + + copy_dir_content(src_dir_path, dst_dir_path) + if is_desktop_local: + for file in glob.glob(dst_dir_path + "/*.html"): + replaceInFile(file, "https://onlyoffice.github.io/sdkjs-plugins/", "../") + return + def copy_sdkjs_plugins(dst_dir, is_name_as_guid=False, is_desktop_local=False): - plugins_dir = get_script_dir() + "/../../onlyoffice.github.io/sdkjs-plugins/content" + plugins_dir = __file__script__path__ + "/../../onlyoffice.github.io/sdkjs-plugins/content" plugins_list_config = config.option("sdkjs-plugin") if ("" == plugins_list_config): return @@ -1260,7 +1284,7 @@ def copy_sdkjs_plugins(dst_dir, is_name_as_guid=False, is_desktop_local=False): return def copy_sdkjs_plugins_server(dst_dir, is_name_as_guid=False, is_desktop_local=False): - plugins_dir = get_script_dir() + "/../../onlyoffice.github.io/sdkjs-plugins/content" + plugins_dir = __file__script__path__ + "/../../onlyoffice.github.io/sdkjs-plugins/content" plugins_list_config = config.option("sdkjs-plugin-server") if ("" == plugins_list_config): return @@ -1414,7 +1438,7 @@ def copy_v8_files(core_dir, deploy_dir, platform, is_xp=False): copy_files(directory_v8 + platform + "/icudt*.dat", deploy_dir + "/") return -def clone_marketplace_plugin(out_dir, is_name_as_guid=False, is_replace_paths=False, is_delete_git_dir=True, git_owner=""): +def clone_marketplace_plugin(out_dir, is_name_as_guid=False, is_replace_paths=False, is_delete_git_dir=True, git_owner=""): old_cur = os.getcwd() os.chdir(out_dir) git_update("onlyoffice.github.io", False, True, git_owner) diff --git a/scripts/build_js.py b/scripts/build_js.py index 46535bf..12c8bed 100644 --- a/scripts/build_js.py +++ b/scripts/build_js.py @@ -55,8 +55,6 @@ def make(): base.copy_dir(base_dir + "/../sdkjs/deploy/sdkjs", out_dir + "/desktop/sdkjs") correct_sdkjs_licence(out_dir + "/desktop/sdkjs") base.copy_dir(base_dir + "/../web-apps/deploy/web-apps", out_dir + "/desktop/web-apps") - if not base.is_file(out_dir + "/desktop/sdkjs/common/AllFonts.js"): - base.copy_file(base_dir + "/../sdkjs/common/HtmlFileInternal/AllFonts.js", out_dir + "/desktop/sdkjs/common/AllFonts.js") base.delete_dir(out_dir + "/desktop/web-apps/apps/documenteditor/embed") base.delete_dir(out_dir + "/desktop/web-apps/apps/documenteditor/mobile") base.delete_dir(out_dir + "/desktop/web-apps/apps/presentationeditor/embed") diff --git a/scripts/deploy_desktop.py b/scripts/deploy_desktop.py index 41d44c7..8d932f3 100644 --- a/scripts/deploy_desktop.py +++ b/scripts/deploy_desktop.py @@ -6,32 +6,6 @@ import os import platform import glob -def deploy_marketplace_plugin(git_dir, root_dir): - # old manager - #base.copy_sdkjs_plugin(git_dir + "/desktop-sdk/ChromiumBasedEditors/plugins", root_dir + "/editors/sdkjs-plugins", "manager", True) - - # plugin manager with local paths - sys_plugins_dir = root_dir + "/editors/sdkjs-plugins" - base.clone_marketplace_plugin(sys_plugins_dir, True, True, False) - - # store with local paths - manager_dir = sys_plugins_dir + "/{AA2EA9B6-9EC2-415F-9762-634EE8D9A95E}" - - store_dir_path = manager_dir + "/store" - if base.is_dir(store_dir_path): - base.delete_dir(store_dir_path) - base.create_dir(store_dir_path) - - base.copy_dir_content(sys_plugins_dir + "/onlyoffice.github.io/store", store_dir_path, "", ".git") - base.delete_dir(store_dir_path + "/plugin") - base.delete_file(store_dir_path + "/build.bat") - - for file in glob.glob(store_dir_path + "/*.html"): - base.replaceInFile(file, "https://onlyoffice.github.io/sdkjs-plugins/", "../../") - - base.delete_dir_with_access_error(sys_plugins_dir + "/onlyoffice.github.io") - return - def copy_lib_with_links(src_dir, dst_dir, lib, version): lib_full_name = lib + "." + version major_version = version[:version.find(".")] @@ -237,6 +211,7 @@ def make(): base.copy_dir(git_dir + "/desktop-sdk/ChromiumBasedEditors/resources/local", root_dir + "/editors/sdkjs/common/Images/local") base.create_dir(root_dir + "/editors/sdkjs-plugins") + base.copy_marketplace_plugin("/editors/sdkjs-plugins", True, True) base.copy_sdkjs_plugins(root_dir + "/editors/sdkjs-plugins", True, True) # remove some default plugins if base.is_dir(root_dir + "/editors/sdkjs-plugins/speech"): @@ -253,9 +228,7 @@ def make(): #base.copy_dir(git_dir + "/desktop-sdk/ChromiumBasedEditors/plugins/encrypt/ui/common/{14A8FC87-8E26-4216-B34E-F27F053B2EC4}", root_dir + "/editors/sdkjs-plugins/{14A8FC87-8E26-4216-B34E-F27F053B2EC4}") #base.copy_dir(git_dir + "/desktop-sdk/ChromiumBasedEditors/plugins/encrypt/ui/engine/database/{9AB4BBA8-A7E5-48D5-B683-ECE76A020BB1}", root_dir + "/editors/sdkjs-plugins/{9AB4BBA8-A7E5-48D5-B683-ECE76A020BB1}") base.copy_sdkjs_plugin(git_dir + "/desktop-sdk/ChromiumBasedEditors/plugins", root_dir + "/editors/sdkjs-plugins", "sendto", True) - - deploy_marketplace_plugin(git_dir, root_dir) - + base.copy_file(base_dir + "/js/" + branding + "/desktop/index.html", root_dir + "/index.html") if isWindowsXP: diff --git a/scripts/deploy_server.py b/scripts/deploy_server.py index 87510dc..947aa52 100644 --- a/scripts/deploy_server.py +++ b/scripts/deploy_server.py @@ -120,6 +120,7 @@ def make(): # plugins base.create_dir(js_dir + "/sdkjs-plugins") + base.copy_marketplace_plugin(js_dir + "/sdkjs-plugins", False, True) if ("1" == config.option("preinstalled-plugins")): base.copy_sdkjs_plugins(js_dir + "/sdkjs-plugins", False, True) base.copy_sdkjs_plugins_server(js_dir + "/sdkjs-plugins", False, True) @@ -131,8 +132,6 @@ def make(): base.download("https://onlyoffice.github.io/sdkjs-plugins/v1/plugins.css", js_dir + "/sdkjs-plugins/v1/plugins.css") base.support_old_versions_plugins(js_dir + "/sdkjs-plugins") - base.clone_marketplace_plugin(root_dir + "/sdkjs-plugins") - # tools tools_dir = root_dir + "/server/tools" base.create_dir(tools_dir) diff --git a/scripts/develop/config_server.py b/scripts/develop/config_server.py index 784b178..624ae5b 100644 --- a/scripts/develop/config_server.py +++ b/scripts/develop/config_server.py @@ -67,7 +67,7 @@ def make(): base.create_dir(git_dir + "/sdkjs-plugins") base.support_old_versions_plugins(git_dir + "/sdkjs-plugins") - base.clone_marketplace_plugin(git_dir + "/sdkjs-plugins", False, False, False) + base.copy_marketplace_plugin(git_dir + "/sdkjs-plugins", False, False) if not base.is_dir(git_dir + "/fonts"): base.create_dir(git_dir + "/fonts")