From af8de103af1a34aee7467eed57f4d9f9ecd4cfed Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 7 Aug 2015 17:40:01 +0200 Subject: [PATCH] Ignore non-required packages rather than erroring if their dependencies were missing --- direct/src/p3d/Packager.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/direct/src/p3d/Packager.py b/direct/src/p3d/Packager.py index 84448e23a7..36883ceb52 100644 --- a/direct/src/p3d/Packager.py +++ b/direct/src/p3d/Packager.py @@ -372,6 +372,9 @@ class Packager: self.requiredFilenames = [] self.requiredModules = [] + # A list of required packages that were missing. + self.missingPackages = [] + # This records the current list of modules we have added so # far. self.freezer = FreezeTool.Freezer(platform = self.packager.platform) @@ -495,6 +498,12 @@ class Packager: as a true package. Either is implemented with a Multifile. """ + if self.missingPackages: + missing = ', '.join([name for name, version in self.missingPackages]) + self.notify.warning("Cannot build package %s due to missing dependencies: %s" % (self.packageName, missing)) + self.cleanup() + return False + self.multifile = Multifile() # Write the multifile to a temporary filename until we @@ -3217,7 +3226,9 @@ class Packager: requires = self.currentPackage.requires) if not package: message = 'Unknown package %s, version "%s"' % (packageName, version) - raise PackagerError, message + self.notify.warning(message) + self.currentPackage.missingPackages.append((packageName, pversion)) + continue self.requirePackage(package)