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