mirror of
https://github.com/ONLYOFFICE/build_tools.git
synced 2026-02-10 12:35:23 +08:00
83 lines
2.7 KiB
Python
83 lines
2.7 KiB
Python
#!/usr/bin/env python
|
|
|
|
import package_utils as utils
|
|
import package_common as common
|
|
import package_branding as branding
|
|
|
|
def make(edition):
|
|
utils.log_h1("SERVER (" + edition.upper() + ")")
|
|
if utils.is_windows():
|
|
make_windows(edition)
|
|
elif utils.is_linux():
|
|
make_linux(edition)
|
|
else:
|
|
utils.log("Unsupported host OS")
|
|
return
|
|
|
|
def s3_upload(files, dst):
|
|
if not files: return False
|
|
ret = True
|
|
for f in files:
|
|
key = dst + utils.get_basename(f) if dst.endswith("/") else dst
|
|
upload = utils.s3_upload(f, "s3://" + branding.s3_bucket + "/" + key)
|
|
if upload:
|
|
utils.log("URL: " + branding.s3_base_url + "/" + key)
|
|
ret &= upload
|
|
return ret
|
|
|
|
def make_windows(edition):
|
|
if edition == "enterprise":
|
|
product_name = "DocumentServer-EE"
|
|
elif edition == "developer":
|
|
product_name = "DocumentServer-DE"
|
|
else:
|
|
product_name = "DocumentServer"
|
|
utils.set_cwd("document-server-package")
|
|
|
|
utils.log_h2("server " + edition + " build")
|
|
ret = utils.cmd("make", "clean", verbose=True)
|
|
if edition == "prerequisites":
|
|
make_args = ["exe-pr"]
|
|
else:
|
|
make_args = ["exe", "-e", "PRODUCT_NAME=" + product_name]
|
|
if not branding.onlyoffice:
|
|
make_args += ["-e", "BRANDING_DIR=../" + common.branding + "/document-server-package"]
|
|
ret &= utils.cmd("make", *make_args, verbose=True)
|
|
utils.set_summary("server " + edition + " build", ret)
|
|
|
|
if common.deploy and ret:
|
|
utils.log_h2("server " + edition + " inno deploy")
|
|
ret = s3_upload(utils.glob_path("exe/*.exe"), "server/win/inno/")
|
|
utils.set_summary("server " + edition + " inno deploy", ret)
|
|
|
|
utils.set_cwd(common.workspace_dir)
|
|
return
|
|
|
|
def make_linux(edition):
|
|
if edition == "enterprise":
|
|
product_name = "documentserver-ee"
|
|
elif edition == "developer":
|
|
product_name = "documentserver-de"
|
|
else:
|
|
product_name = "documentserver"
|
|
utils.set_cwd("document-server-package")
|
|
|
|
utils.log_h2("server " + edition + " build")
|
|
make_args = [t["make"] for t in branding.server_make_targets]
|
|
make_args += ["-e", "PRODUCT_NAME=" + product_name]
|
|
if common.platform == "linux_aarch64":
|
|
make_args += ["-e", "UNAME_M=aarch64"]
|
|
if not branding.onlyoffice:
|
|
make_args += ["-e", "BRANDING_DIR=../" + common.branding + "/document-server-package"]
|
|
ret = utils.sh("make clean && make " + " ".join(make_args), verbose=True)
|
|
utils.set_summary("server " + edition + " build", ret)
|
|
|
|
if common.deploy:
|
|
for t in branding.server_make_targets:
|
|
utils.log_h2("server " + edition + " " + t["make"] + " deploy")
|
|
ret = s3_upload(utils.glob_path(t["src"]), t["dst"])
|
|
utils.set_summary("server " + edition + " " + t["make"] + " deploy", ret)
|
|
|
|
utils.set_cwd(common.workspace_dir)
|
|
return
|