aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts/utils.py
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-12-05 10:09:31 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-12-06 08:35:36 +0100
commit67292776a6cba219f5145db00b16e30015b4a33c (patch)
tree418a77bd7b6820dd3d9c0fbb9b31a0add3520149 /build_scripts/utils.py
parent340e9bfb2f98a8824400434086c8c8475c28cede (diff)
build system: Further introduce Pathlib
Make it possible to pass a Path or a str to copyfile()/copydir() for both arguments or one of them. Turn the variables destination_dir, destination_qt_dir and destination_qt_lib_dir introduced by b32a791ea2c66ae9ef2896ea445d4752e4773f96 into Paths. Task-number: PYSIDE-2080 Change-Id: I13b27179746019b9cbe575d783a67a025dac1ee5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'build_scripts/utils.py')
-rw-r--r--build_scripts/utils.py23
1 files changed, 14 insertions, 9 deletions
diff --git a/build_scripts/utils.py b/build_scripts/utils.py
index b79c2294f..8cd947b32 100644
--- a/build_scripts/utils.py
+++ b/build_scripts/utils.py
@@ -251,12 +251,12 @@ def platform_cmake_options(as_tuple_list=False):
def copyfile(src, dst, force=True, _vars=None, force_copy_symlink=False,
make_writable_by_owner=False):
- if _vars is not None:
- src = Path(str(src).format(**_vars))
- dst = Path(str(dst).format(**_vars))
- else:
- src = Path(src)
- dst = Path(dst)
+ if isinstance(src, str):
+ src = Path(src.format(**_vars)) if _vars else Path(src)
+ if isinstance(dst, str):
+ dst = Path(dst.format(**_vars)) if _vars else Path(dst)
+ assert(isinstance(src, Path))
+ assert(isinstance(dst, Path))
if not src.exists() and not force:
log.info(f"**Skipping copy file\n {src} to\n {dst}\n Source does not exist")
@@ -327,9 +327,14 @@ def makefile(dst, content=None, _vars=None):
def copydir(src, dst, _filter=None, ignore=None, force=True, recursive=True, _vars=None,
dir_filter_function=None, file_filter_function=None, force_copy_symlinks=False):
+ if isinstance(src, str):
+ src = Path(src.format(**_vars)) if _vars else Path(src)
+ if isinstance(dst, str):
+ dst = Path(dst.format(**_vars)) if _vars else Path(dst)
+ assert(isinstance(src, Path))
+ assert(isinstance(dst, Path))
+
if _vars is not None:
- src = Path(str(src).format(**_vars))
- dst = Path(str(dst).format(**_vars))
if _filter is not None:
_filter = [i.format(**_vars) for i in _filter]
if ignore is not None:
@@ -1404,6 +1409,6 @@ def copy_qt_metatypes(destination_qt_dir, _vars):
qt_meta_types_dir = "{qt_metatypes_dir}".format(**_vars)
qt_prefix_dir = "{qt_prefix_dir}".format(**_vars)
rel_meta_data_dir = os.fspath(Path(qt_meta_types_dir).relative_to(qt_prefix_dir))
- copydir(qt_meta_types_dir, f"{destination_qt_dir}/{rel_meta_data_dir}",
+ copydir(qt_meta_types_dir, destination_qt_dir / rel_meta_data_dir,
_filter=["*.json"],
recursive=False, _vars=_vars, force_copy_symlinks=True)