sh_cpl/src/cpl_cli/publish/publisher.py

66 lines
1.6 KiB
Python
Raw Normal View History

2021-03-04 19:06:53 +01:00
import os
import shutil
from cpl.application.application_runtime_abc import ApplicationRuntimeABC
from cpl.console.console import Console
from cpl_cli.publish.project_settings import ProjectSettings
from cpl_cli.publish.publisher_abc import PublisherABC
class Publisher(PublisherABC):
def __init__(self, runtime: ApplicationRuntimeABC, project: ProjectSettings):
PublisherABC.__init__(self)
self._runtime = runtime
self._project = project
@property
def source_path(self) -> str:
return ''
@property
def dist_path(self) -> str:
return ''
def _create_dist_path(self):
self._project.dist_path = os.path.join(self._runtime.working_directory, self._project.dist_path)
Console.write_line('DIST:', self._project.dist_path)
if os.path.isdir(self._project.dist_path):
try:
shutil.rmtree(self._project.dist_path)
except Exception as e:
Console.error(f'{e}')
exit()
if not os.path.isdir(self._project.dist_path):
try:
os.makedirs(self._project.dist_path)
except Exception as e:
Console.error(f'{e}')
exit()
def _create_packages(self):
pass
def _dist_files(self):
pass
def include(self, path: str):
pass
def exclude(self, path: str):
pass
def build(self):
Console.write_line('Creating internal packages:')
self._create_packages()
Console.write_line('Building application:')
self._dist_files()
def publish(self):
pass