mirror of
https://github.com/panda3d/panda3d.git
synced 2025-12-17 20:59:36 -06:00
dist: Fix inability to pick up nested hidden modules
This commit is contained in:
9
direct/src/dist/FreezeTool.py
vendored
9
direct/src/dist/FreezeTool.py
vendored
@@ -1249,8 +1249,12 @@ class Freezer:
|
||||
pass
|
||||
|
||||
# Check if any new modules we found have "hidden" imports
|
||||
for origName in list(self.mf.modules.keys()):
|
||||
checkHiddenImports = set(self.mf.modules.keys())
|
||||
while checkHiddenImports:
|
||||
origName = next(iter(checkHiddenImports))
|
||||
checkHiddenImports.discard(origName)
|
||||
hidden = self.hiddenImports.get(origName, [])
|
||||
preModules = frozenset(self.mf.modules.keys())
|
||||
for modname in hidden:
|
||||
if modname.endswith('.*'):
|
||||
mdefs = self._gatherSubmodules(modname, implicit = True)
|
||||
@@ -1264,6 +1268,9 @@ class Freezer:
|
||||
self.__loadModule(self.ModuleDef(modname, implicit = True))
|
||||
except ImportError:
|
||||
pass
|
||||
addedModules = set(self.mf.modules.keys())
|
||||
addedModules -= preModules
|
||||
checkHiddenImports |= addedModules
|
||||
|
||||
# Special case for sysconfig, which depends on a platform-specific
|
||||
# sysconfigdata module on POSIX systems.
|
||||
|
||||
Reference in New Issue
Block a user