aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2019-04-20 11:40:19 +0200
committerChristian Tismer <tismer@stackless.com>2019-04-26 11:50:09 +0000
commitf3f401315774687f74caa4f5aeb7ec8ef2d5587c (patch)
tree3e378744e7e065e8bc05587f940884009268f202 /sources/shiboken2
parent361336c6a18626dd62bb777f211074d7438b3891 (diff)
Avoid too much stickiness when using --reuse-build
We had some unwanted cache effects and needed to manually remove certain files before building. Otherwise it could happen that a build pretended to be ok, although there was a bug that prevented generation of the ".pyi" files. Further investigation showed: Using option "--reuse-build" with "no" and then with "yes" creates errors in the signature module. This makes "reuse-build" useless in this case. We now add an "a" to "pyside3d_build" as "pside3da_build" if "--limited-api=yes" was given. (different proposals welcome.) That solved most of the stickiness problems. A left-over lock directory is removed now, since it would prevent re-computation of the .pyi files. This is implemented by a recursive call to the script, where the subprocess does the work and the main process checks if there was a crash and removes the lock. The "--skip" parameter of generate_pyi.py was refined: When set, it is checked if the time stamp of all imported modules is less than the ".pyi" file time stamp. Only then the generation is skipped. By editing any involved python file, the ".pyi" files will be regenerated. Task-number: PYSIDE-560 Change-Id: I1b1d8ffbc58db3d4b38bf65e3795efcad7e7870c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'sources/shiboken2')
-rw-r--r--sources/shiboken2/libshiboken/embed/embedding_generator.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/sources/shiboken2/libshiboken/embed/embedding_generator.py b/sources/shiboken2/libshiboken/embed/embedding_generator.py
index b6bfb1467..77aa5c329 100644
--- a/sources/shiboken2/libshiboken/embed/embedding_generator.py
+++ b/sources/shiboken2/libshiboken/embed/embedding_generator.py
@@ -92,7 +92,7 @@ def create_zipfile(limited_api):
flag = '-b' if sys.version_info >= (3,) else ''
os.chdir(work_dir)
- # Limited API: Remove all left-over py[co] files first, in case we use '--reuse-build'.
+ # Remove all left-over py[co] and other files first, in case we use '--reuse-build'.
# Note that we could improve that with the PyZipfile function to use .pyc files
# in different folders, but that makes only sense when COIN allows us to have
# multiple Python versions in parallel.
@@ -100,9 +100,9 @@ def create_zipfile(limited_api):
for root, dirs, files in os.walk(work_dir):
for name in files:
fpath = os.path.join(root, name)
- if name.endswith(".pyc") or name.endswith(".pyo"):
+ ew = name.endswith
+ if ew(".pyc") or ew(".pyo") or ew(".zip") or ew(".inc"):
os.remove(fpath)
-
# We copy every Python file into this dir, but only for the right version.
# For testing in the source dir, we need to filter.
if sys.version_info[0] == 3: