core/tools/build

91 lines
1.6 KiB
Plaintext
Raw Normal View History

#!/usr/bin/env python3
2025-09-09 12:07:53 +02:00
import os as _os
import shutil as _shutil
import argparse as _argparse
2025-09-09 12:07:53 +02:00
def main():
## consts
conf = {
"dir_lib": "lib",
"dir_source": "source",
"dir_logic": "logic",
}
## args
argument_parser = _argparse.ArgumentParser(
)
argument_parser.add_argument(
"-o",
"--output-directory",
default = "/tmp/davina",
type = str,
metavar = "<output-directory>",
)
argument_parser.add_argument(
"-c",
"--conf-path",
default = None,
type = str,
metavar = "<conf-path>",
)
args = argument_parser.parse_args()
## exec
### exec:directories
if True:
_os.makedirs(
args.output_directory,
exist_ok = True
)
_os.makedirs(
_os.path.join(args.output_directory, "data"),
exist_ok = True
)
_os.makedirs(
_os.path.join(args.output_directory, "public"),
exist_ok = True
)
### exec:libs
if True:
_shutil.copytree(
_os.path.join(conf["dir_lib"], "composer"),
2025-09-16 12:48:45 +02:00
args.output_directory,
dirs_exist_ok = True
)
### exec:sources
if True:
_shutil.copytree(
conf["dir_source"],
_os.path.join(args.output_directory, conf["dir_logic"]),
dirs_exist_ok = True
)
### exec:index
if True:
path = _os.path.join(args.output_directory, "index.php")
if (not _os.path.exists(path)):
pass
else:
_os.remove(
path
)
_os.symlink(
_os.path.join(conf["dir_logic"], "main.php"),
path
)
### exec:conf
if True:
if (args.conf_path is None):
pass
else:
_shutil.copy(
args.conf_path,
2025-09-22 20:08:05 +02:00
_os.path.join(args.output_directory, "conf.dvn.json")
)
print(args.output_directory)
2025-09-09 23:17:30 +02:00
main()
2025-09-09 23:17:30 +02:00