diff --git a/make.py b/make.py index 1ed82e8..f210af2 100755 --- a/make.py +++ b/make.py @@ -3,6 +3,7 @@ import sys sys.path.append('scripts') sys.path.append('scripts/develop') +sys.path.append('scripts/develop/vendor') sys.path.append('scripts/core_common') sys.path.append('scripts/core_common/modules') import config @@ -13,6 +14,7 @@ import build_server import deploy import make_common import config_server as develop_config_server +import dependence # parse configuration config.parse() @@ -79,6 +81,8 @@ base.configure_common_apps() # developing... if ("1" == config.option("develop")): + if not dependence.check_dependencies(): + sys.exit() build_server.build_server_develop() build_js.build_js_develop(base_dir + "/..") develop_config_server.make() diff --git a/scripts/develop/dependence.py b/scripts/develop/dependence.py index 8b66c08..0e22f92 100644 --- a/scripts/develop/dependence.py +++ b/scripts/develop/dependence.py @@ -1,11 +1,14 @@ import sys -sys.path.append('../') +sys.path.append('vendor') +sys.path.append('..') import os import base import subprocess +import config -host_platform = base.host_platform() -if (host_platform == 'windows'): +platform = base.host_platform() +if (platform == 'windows'): + import libwindows if (sys.version_info[0] >= 3): import winreg else: @@ -57,6 +60,40 @@ class CDependencies: res += ['--remove-path', item] return res +def check_dependencies(): + if ("windows" != platform): + return True + + if not check_vc_components(): + return False + + checksResult = CDependencies() + + checksResult.append(check_git()) + checksResult.append(check_nodejs()) + checksResult.append(check_java()) + checksResult.append(check_erlang()) + checksResult.append(check_rabbitmq()) + checksResult.append(check_gruntcli()) + checksResult.append(check_buildTools()) + checksResult.append(check_mysqlServer()) + + server_addons = [] + if (config.option("server-addons") != ""): + server_addons = config.option("server-addons").rsplit(", ") + if ("server-lockstorage" in server_addons): + checksResult.append(check_redis()) + + if (len(checksResult.install) > 0): + install_args = ['install.py'] + install_args += checksResult.get_uninstall() + install_args += checksResult.get_removepath() + install_args += checksResult.get_install() + install_args += ['--mysql-path', unicode(checksResult.mysqlPath)] + code = libwindows.sudo(unicode(sys.executable), install_args) + + return check_MySQLConfig(checksResult.mysqlPath) + def check_pythonPath(): path = base.get_env('PATH') if (path.find(sys.exec_prefix) == -1): diff --git a/scripts/develop/run.py b/scripts/develop/run.py index 7bd7f21..f83d8ae 100644 --- a/scripts/develop/run.py +++ b/scripts/develop/run.py @@ -1,22 +1,11 @@ import sys sys.path.append('../') -sys.path.append('vendor') import os import base import dependence import traceback import config -platform = base.host_platform() - -if ("windows" == platform): - import libwindows - -platform = base.host_platform() - -if ("windows" == platform): - import libwindows - if (sys.version_info[0] >= 3): unicode = str @@ -50,57 +39,20 @@ def start_mac_services(): def run_integration_example(): base.cmd_in_dir('../../../document-server-integration/web/documentserver-example/nodejs', 'python', ['run-develop.py']) -def check_dependencies(): - checksResult = dependence.CDependencies() - - checksResult.append(dependence.check_git()) - checksResult.append(dependence.check_nodejs()) - checksResult.append(dependence.check_java()) - checksResult.append(dependence.check_erlang()) - checksResult.append(dependence.check_rabbitmq()) - checksResult.append(dependence.check_gruntcli()) - checksResult.append(dependence.check_buildTools()) - checksResult.append(dependence.check_mysqlServer()) - - server_addons = [] - if (config.option("server-addons") != ""): - server_addons = config.option("server-addons").rsplit(", ") - if ("server-lockstorage" in server_addons): - checksResult.append(dependence.check_redis()) - - if (len(checksResult.install) > 0): - install_args = ['install.py'] - install_args += checksResult.get_uninstall() - install_args += checksResult.get_removepath() - install_args += checksResult.get_install() - install_args += ['--mysql-path', unicode(checksResult.mysqlPath)] - code = libwindows.sudo(unicode(sys.executable), install_args) - - return dependence.check_MySQLConfig(checksResult.mysqlPath) - def make(args = []): try: - base.cmd_in_dir('../../', 'python', ['configure.py', '--branch', 'develop', '--develop', '1', '--module', 'server', '--update', '1', '--update-light', '1', '--clean', '0'] + args) - - # parse configuration - config.parse() - # correct defaults (the branding repo is already updated) - config.parse_defaults() - base.configure_common_apps() - + + platform = base.host_platform() if ("windows" == platform): dependence.check_pythonPath() - if not dependence.check_vc_components(): - sys.exit() - if not check_dependencies(): - sys.exit() restart_win_rabbit() elif ("mac" == platform): start_mac_services() dependence.check_gitPath() base.print_info('Build modules') + base.cmd_in_dir('../../', 'python', ['configure.py', '--branch', 'develop', '--develop', '1', '--module', 'server', '--update', '1', '--update-light', '1', '--clean', '0'] + args) base.cmd_in_dir('../../', 'python', ['make.py']) run_integration_example()