From 34ed7123d1dcb48cb8c07676ccb44d1e733c90c0 Mon Sep 17 00:00:00 2001 From: Sven Heidemann Date: Thu, 8 Apr 2021 20:28:19 +0200 Subject: [PATCH] Improved workspace handling in publish and build command --- src/cpl/environment/application_environment.py | 8 +++++--- src/cpl_cli/publish/publisher_service.py | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/cpl/environment/application_environment.py b/src/cpl/environment/application_environment.py index 1150eb40..079bc59a 100644 --- a/src/cpl/environment/application_environment.py +++ b/src/cpl/environment/application_environment.py @@ -22,8 +22,8 @@ class ApplicationEnvironment(ApplicationEnvironmentABC): self._start_time: datetime = datetime.now() self._end_time: datetime = datetime.now() - self._working_directory = os.path.abspath('./') self._runtime_directory = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + self._working_directory = os.path.abspath('./') @property def environment_name(self) -> str: @@ -82,11 +82,13 @@ class ApplicationEnvironment(ApplicationEnvironmentABC): self._runtime_directory = runtime_directory return - self._runtime_directory = pathlib.Path().absolute() + self._runtime_directory = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) def set_working_directory(self, working_directory: str): if working_directory != '': self._working_directory = working_directory + os.chdir(self._working_directory) return - self._working_directory = pathlib.Path().absolute() + self._working_directory = os.path.abspath('./') + os.chdir(self._working_directory) diff --git a/src/cpl_cli/publish/publisher_service.py b/src/cpl_cli/publish/publisher_service.py index 29a104b9..96717cc4 100644 --- a/src/cpl_cli/publish/publisher_service.py +++ b/src/cpl_cli/publish/publisher_service.py @@ -408,6 +408,7 @@ class PublisherService(PublisherABC): 3. Copies all included source files to dist_path/build :return: """ + self._env.set_working_directory(os.path.join(self._env.working_directory, '../')) self.exclude(f'*/{self._config.get_configuration("ProjectName")}.json') self._output_path = os.path.abspath(os.path.join(self._output_path, self._project_settings.name, 'build')) @@ -429,6 +430,7 @@ class PublisherService(PublisherABC): 4. Remove all included source from dist_path/publish :return: """ + self._env.set_working_directory(os.path.join(self._env.working_directory, '../')) self.exclude(f'*/{self._config.get_configuration("ProjectName")}.json') self._output_path = os.path.abspath(os.path.join(self._output_path, self._project_settings.name, 'publish'))