2022-05-19 18:09:25 +02:00
|
|
|
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
|
2022-05-25 08:41:35 +02:00
|
|
|
from cpl_cli.command.run_service import RunService
|
2022-05-19 18:09:25 +02:00
|
|
|
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
|
2022-05-20 10:27:55 +02:00
|
|
|
from cpl_cli.validators.project_validator import ProjectValidator
|
|
|
|
from cpl_cli.validators.workspace_validator import WorkspaceValidator
|
2022-05-22 20:27:58 +02:00
|
|
|
from cpl_core.application.startup_extension_abc import StartupExtensionABC
|
2022-05-19 18:09:25 +02:00
|
|
|
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
|
2022-05-22 20:27:58 +02:00
|
|
|
from cpl_core.environment.application_environment_abc import ApplicationEnvironmentABC
|
2022-05-19 18:09:25 +02:00
|
|
|
|
|
|
|
|
|
|
|
class StartupArgumentExtension(StartupExtensionABC):
|
|
|
|
def __init__(self):
|
|
|
|
pass
|
|
|
|
|
|
|
|
def configure_configuration(self, config: ConfigurationABC, env: ApplicationEnvironmentABC):
|
2023-02-20 15:55:20 +01:00
|
|
|
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)
|
2022-05-19 18:09:25 +02:00
|
|
|
|
2023-02-20 15:55:20 +01:00
|
|
|
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)
|
2022-05-19 18:09:25 +02:00
|
|
|
|
2022-05-19 20:21:46 +02:00
|
|
|
def configure_services(self, services: ServiceCollectionABC, env: ApplicationEnvironmentABC):
|
2022-06-27 10:52:26 +02:00
|
|
|
pass
|