aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside-tools/deploy_lib/deploy_util.py
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside-tools/deploy_lib/deploy_util.py')
-rw-r--r--sources/pyside-tools/deploy_lib/deploy_util.py44
1 files changed, 28 insertions, 16 deletions
diff --git a/sources/pyside-tools/deploy_lib/deploy_util.py b/sources/pyside-tools/deploy_lib/deploy_util.py
index 496b7e00c..3786cd20e 100644
--- a/sources/pyside-tools/deploy_lib/deploy_util.py
+++ b/sources/pyside-tools/deploy_lib/deploy_util.py
@@ -61,16 +61,15 @@ def create_config_file(main_file: Path, dry_run: bool = False):
"""
config_file = main_file.parent / "pysidedeploy.spec"
-
logging.info(f"[DEPLOY] Creating config file {config_file}")
- if not dry_run:
- shutil.copy(Path(__file__).parent / "default.spec", config_file)
+ default_config_file = Path(__file__).parent / "default.spec"
# the config parser needs a reference to parse. So, in the case of --dry-run
# use the default.spec file.
if dry_run:
- config_file = Path(__file__).parent / "default.spec"
+ return default_config_file
+ shutil.copy(default_config_file, config_file)
return config_file
@@ -79,16 +78,29 @@ def finalize(config: DesktopConfig):
Copy the executable into the final location
For Android deployment, this is done through buildozer
"""
- dist_format = EXE_FORMAT
+ exe_format = EXE_FORMAT
if config.mode == DesktopConfig.NuitkaMode.STANDALONE and sys.platform != "darwin":
- dist_format = ".dist"
-
- generated_exec_path = config.generated_files_path / (config.source_file.stem + dist_format)
- if generated_exec_path.exists() and config.exe_dir:
- if sys.platform == "darwin" or config.mode == DesktopConfig.NuitkaMode.STANDALONE:
- shutil.copytree(generated_exec_path, config.exe_dir / (config.title + dist_format),
- dirs_exist_ok=True)
- else:
- shutil.copy(generated_exec_path, config.exe_dir / (config.title + dist_format))
- print("[DEPLOY] Executed file created in "
- f"{str(config.exe_dir / (config.title + dist_format))}")
+ exe_format = ".dist"
+
+ generated_exec_path = config.generated_files_path / (config.source_file.stem + exe_format)
+ if not generated_exec_path.exists():
+ logging.error(f"[DEPLOY] Executable not found at {generated_exec_path.absolute()}")
+ return
+
+ logging.info(f"[DEPLOY] executable generated at {generated_exec_path.absolute()}")
+ if not config.exe_dir:
+ logging.info("[DEPLOY] Not copying output executable because no output directory specified")
+ return
+
+ output_path = config.exe_dir / (config.title + exe_format)
+
+ if sys.platform == "darwin" or config.mode == DesktopConfig.NuitkaMode.STANDALONE:
+ # Copy the folder that contains the executable
+ logging.info(f"[DEPLOY] copying generated folder to {output_path.absolute()}")
+ shutil.copytree(generated_exec_path, output_path, dirs_exist_ok=True)
+ else:
+ # Copy a single file
+ logging.info(f"[DEPLOY] copying generated file to {output_path.absolute()}")
+ shutil.copy(generated_exec_path, output_path)
+
+ print(f"[DEPLOY] Executed file created in {output_path.absolute()}")