sh_cpl/src/cpl_cli/startup_argument_extension.py
2023-02-20 15:55:20 +01:00

104 lines
5.7 KiB
Python

from cpl_cli.command.add_service import AddService
from cpl_cli.command.build_service import BuildService
from cpl_cli.command.generate_service import GenerateService
from cpl_cli.command.help_service import HelpService
from cpl_cli.command.install_service import InstallService
from cpl_cli.command.new_service import NewService
from cpl_cli.command.publish_service import PublishService
from cpl_cli.command.remove_service import RemoveService
from cpl_cli.command.run_service import RunService
from cpl_cli.command.start_service import StartService
from cpl_cli.command.uninstall_service import UninstallService
from cpl_cli.command.update_service import UpdateService
from cpl_cli.command.version_service import VersionService
from cpl_cli.validators.project_validator import ProjectValidator
from cpl_cli.validators.workspace_validator import WorkspaceValidator
from cpl_core.application.startup_extension_abc import StartupExtensionABC
from cpl_core.configuration.argument_type_enum import ArgumentTypeEnum
from cpl_core.configuration.configuration_abc import ConfigurationABC
from cpl_core.dependency_injection.service_collection_abc import ServiceCollectionABC
from cpl_core.environment.application_environment_abc import ApplicationEnvironmentABC
class StartupArgumentExtension(StartupExtensionABC):
def __init__(self):
pass
def configure_configuration(self, config: ConfigurationABC, env: ApplicationEnvironmentABC):
config.create_console_argument(
ArgumentTypeEnum.Executable, "", "add", ["a", "A"], AddService, True, validators=[WorkspaceValidator]
).add_console_argument(ArgumentTypeEnum.Flag, "--", "simulate", ["s", "S"])
config.create_console_argument(
ArgumentTypeEnum.Executable, "", "build", ["b", "B"], BuildService, True, validators=[ProjectValidator]
)
config.create_console_argument(ArgumentTypeEnum.Executable, "", "generate", ["g", "G"], GenerateService, True)
config.create_console_argument(
ArgumentTypeEnum.Executable, "", "install", ["i", "I"], InstallService, True, validators=[ProjectValidator]
).add_console_argument(ArgumentTypeEnum.Flag, "--", "dev", ["d", "D"]).add_console_argument(
ArgumentTypeEnum.Flag, "--", "virtual", ["v", "V"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "simulate", ["s", "S"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "cpl-prod", ["cp", "CP"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "cpl-exp", ["ce", "CE"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "cpl-dev", ["cd", "CD"]
)
config.create_console_argument(
ArgumentTypeEnum.Executable, "", "new", ["n", "N"], NewService, True
).add_console_argument(ArgumentTypeEnum.Flag, "--", "async", ["a", "A"]).add_console_argument(
ArgumentTypeEnum.Flag, "--", "application-base", ["ab", "AB"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "startup", ["s", "S"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "service-providing", ["sp", "SP"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "nothing", ["n", "N"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "venv", ["v", "V"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "base", ["b", "B"]
)
config.create_console_argument(
ArgumentTypeEnum.Executable, "", "publish", ["p", "P"], PublishService, True, validators=[ProjectValidator]
)
config.create_console_argument(
ArgumentTypeEnum.Executable, "", "remove", ["r", "R"], RemoveService, True, validators=[WorkspaceValidator]
).add_console_argument(ArgumentTypeEnum.Flag, "--", "simulate", ["s", "S"])
config.create_console_argument(
ArgumentTypeEnum.Executable, "", "run", [], RunService, True, validators=[ProjectValidator]
).add_console_argument(ArgumentTypeEnum.Flag, "--", "dev", ["d", "D"])
config.create_console_argument(
ArgumentTypeEnum.Executable, "", "start", ["s", "S"], StartService, True, validators=[ProjectValidator]
).add_console_argument(ArgumentTypeEnum.Flag, "--", "dev", ["d", "D"])
config.create_console_argument(
ArgumentTypeEnum.Executable,
"",
"uninstall",
["ui", "UI"],
UninstallService,
True,
validators=[ProjectValidator],
).add_console_argument(ArgumentTypeEnum.Flag, "--", "dev", ["d", "D"]).add_console_argument(
ArgumentTypeEnum.Flag, "--", "virtual", ["v", "V"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "simulate", ["s", "S"]
)
config.create_console_argument(
ArgumentTypeEnum.Executable, "", "update", ["u", "U"], UpdateService, True, validators=[ProjectValidator]
).add_console_argument(ArgumentTypeEnum.Flag, "--", "simulate", ["s", "S"]).add_console_argument(
ArgumentTypeEnum.Flag, "--", "cpl-prod", ["cp", "CP"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "cpl-exp", ["ce", "CE"]
).add_console_argument(
ArgumentTypeEnum.Flag, "--", "cpl-dev", ["cd", "CD"]
)
config.create_console_argument(ArgumentTypeEnum.Executable, "", "version", ["v", "V"], VersionService, True)
config.for_each_argument(lambda a: a.add_console_argument(ArgumentTypeEnum.Flag, "--", "help", ["h", "H"]))
config.create_console_argument(ArgumentTypeEnum.Executable, "", "help", ["h", "H"], HelpService)
def configure_services(self, services: ServiceCollectionABC, env: ApplicationEnvironmentABC):
pass