Improved publish process

This commit is contained in:
2020-12-16 17:37:43 +01:00
parent 3374ffe8db
commit 9e3c631ac4
11 changed files with 225 additions and 69 deletions

View File

@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
"""
sh_edraft.cli.command
~~~~~~~~~~~~~~~~~~~
:copyright: (c) 2020 sh-edraft.de
:license: MIT, see LICENSE for more details.
"""
__title__ = 'sh_edraft.cli.command'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
__version__ = '2020.12.9'
from collections import namedtuple
# imports:
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2020, minor=12, micro=9)

View File

@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
"""
sh_edraft.cli.command.base
~~~~~~~~~~~~~~~~~~~
:copyright: (c) 2020 sh-edraft.de
:license: MIT, see LICENSE for more details.
"""
__title__ = 'sh_edraft.cli.command.base'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
__version__ = '2020.12.9'
from collections import namedtuple
# imports:
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2020, minor=12, micro=9)

View File

@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
"""
sh_edraft.cli.cpl_cli
~~~~~~~~~~~~~~~~~~~
:copyright: (c) 2020 sh-edraft.de
:license: MIT, see LICENSE for more details.
"""
__title__ = 'sh_edraft.cli.cpl_cli'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
__version__ = '2020.12.9'
from collections import namedtuple
# imports:
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2020, minor=12, micro=9)

View File

@@ -2,49 +2,21 @@ import sys
import traceback
from typing import Optional
from sh_edraft.cli.cpl_cli.commands.build import Build
from sh_edraft.cli.cpl_cli.commands.build.build import Build
from sh_edraft.cli.cpl_cli.commands.help import Help
from sh_edraft.cli.cpl_cli.commands.new import New
from sh_edraft.cli.cpl_cli.commands.version import Version
from sh_edraft.cli.interpreter.interpreter import Interpreter
from sh_edraft.configuration.base import ConfigurationBase
from sh_edraft.console.console import Console
from sh_edraft.hosting.application_host import ApplicationHost
from sh_edraft.hosting.base.application_base import ApplicationBase
from sh_edraft.logging.logger import Logger
from sh_edraft.logging.base.logger_base import LoggerBase
from sh_edraft.publishing.publisher import Publisher
from sh_edraft.publishing.base.publisher_base import PublisherBase
from sh_edraft.service.providing.service_provider import ServiceProviderBase
class CLI(ApplicationBase):
class CLI:
def __init__(self):
ApplicationBase.__init__(self)
self._app_host: Optional[ApplicationHost] = None
self._services: Optional[ServiceProviderBase] = None
self._configuration: Optional[ConfigurationBase] = None
self._logger: Optional[LoggerBase] = None
self._interpreter = Interpreter()
def create_application_host(self):
self._app_host = ApplicationHost()
self._configuration = self._app_host.configuration
self._services = self._app_host.services
def create_configuration(self):
self._configuration.add_json_file(f'project.json')
def create_services(self):
self._services.add_singleton(LoggerBase, Logger)
self._logger = self._services.get_service(LoggerBase)
self._services.add_singleton(PublisherBase, Publisher)
def setup(self):
self._interpreter.add_command(Build(self._services, self._configuration))
self._interpreter.add_command(Build())
self._interpreter.add_command(Help())
self._interpreter.add_command(New())
self._interpreter.add_command(Version())
@@ -61,9 +33,6 @@ class CLI(ApplicationBase):
def main():
cli = CLI()
cli.create_application_host()
cli.create_configuration()
cli.create_services()
cli.setup()
cli.main()

View File

@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
"""
sh_edraft.cli.cpl_cli.commands
~~~~~~~~~~~~~~~~~~~
:copyright: (c) 2020 sh-edraft.de
:license: MIT, see LICENSE for more details.
"""
__title__ = 'sh_edraft.cli.cpl_cli.commands'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
__version__ = '2020.12.9'
from collections import namedtuple
# imports:
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2020, minor=12, micro=9)

View File

@@ -1,26 +0,0 @@
from sh_edraft.cli.command.base.command_base import CommandBase
from sh_edraft.configuration.base.configuration_base import ConfigurationBase
from sh_edraft.console.console import Console
from sh_edraft.publishing.publisher import Publisher
from sh_edraft.publishing.base.publisher_base import PublisherBase
from sh_edraft.service.providing.service_provider import ServiceProviderBase
class Build(CommandBase):
def __init__(self, services: ServiceProviderBase, config: ConfigurationBase):
CommandBase.__init__(self)
self._services = services
self._config = config
self._aliases.append('-b')
self._aliases.append('-B')
self._publisher: Publisher = self._services.get_service(PublisherBase)
def run(self, args: list[str]):
if len(args) > 0:
Console.error(f'Invalid arguments {args}')
Console.error('Run \'cpl help\'')
self._publisher.create()
self._publisher.publish()

View File

@@ -6,14 +6,14 @@
"DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
},
"LoggingSettings": {
"Path": "logs/",
"Path": "build/logs/",
"Filename": "log_$start_time.log",
"ConsoleLogLevel": "INFO",
"FileLogLevel": "TRACE"
"FileLogLevel": "INFO"
},
"PublishSettings": {
"SourcePath": "../",
"DistPath": "../../../../dist",
"SourcePath": "./",
"DistPath": "build/dist",
"Templates": [],
"IncludedFiles": [],
"ExcludedFiles": [],

View File

@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
"""
sh_edraft.cli.interpreter
~~~~~~~~~~~~~~~~~~~
:copyright: (c) 2020 sh-edraft.de
:license: MIT, see LICENSE for more details.
"""
__title__ = 'sh_edraft.cli.interpreter'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
__version__ = '2020.12.9'
from collections import namedtuple
# imports:
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2020, minor=12, micro=9)