66 lines
1.6 KiB
Python
66 lines
1.6 KiB
Python
|
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
|