47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
import pathlib
|
|
import sys
|
|
|
|
import modulus.artifacts
|
|
import modulus.build
|
|
import modulus.build_context
|
|
import modulus.clangd
|
|
import modulus.config
|
|
import modulus.container
|
|
import modulus.export
|
|
import modulus.formatting
|
|
import modulus.lsp
|
|
import modulus.packaging
|
|
import modulus.process
|
|
import modulus.python
|
|
import modulus.run
|
|
|
|
def main(command):
|
|
repo_root = modulus.build_context.find_repo_root(pathlib.Path.cwd())
|
|
config = modulus.config.load_repo_config(repo_root)
|
|
context = modulus.build_context.build_context(repo_root, config)
|
|
if command == "format":
|
|
return modulus.formatting.launch(context, sys.argv[1:])
|
|
if command == "clangd":
|
|
return modulus.clangd.launch(context, sys.argv[1:])
|
|
if command in {"configure", "lsp"}:
|
|
modulus.export.sync_editor_files(repo_root, config)
|
|
if command == "configure":
|
|
return modulus.build.configure(context, sys.argv[1:])
|
|
if command == "build":
|
|
return modulus.build.build(context, sys.argv[1:])
|
|
if command == "test":
|
|
return modulus.build.test(context, sys.argv[1:])
|
|
if command == "package":
|
|
return modulus.packaging.package(context, sys.argv[1:])
|
|
if command == "run":
|
|
return modulus.run.product_run(context, sys.argv[1:])
|
|
if command == "lsp":
|
|
return modulus.lsp.lsp(context, sys.argv[1:])
|
|
if command in {'python', 'publish'}:
|
|
if not modulus.process.in_docker(context):
|
|
return modulus.container.docker_run(context, [f'./{context.tools_rel}/{command}.py', *sys.argv[1:]])
|
|
if command == 'python':
|
|
return modulus.python.launch(context, sys.argv[1:])
|
|
return modulus.artifacts.main(context, sys.argv[1:])
|
|
raise SystemExit(f"unknown modulus command: {command}")
|