Do add_defaults() always at the last minute before calling into the cscript.
authorCarl Hetherington <cth@carlh.net>
Wed, 17 Apr 2024 15:24:17 +0000 (17:24 +0200)
committerCarl Hetherington <cth@carlh.net>
Wed, 17 Apr 2024 15:24:17 +0000 (17:24 +0200)
cdist

diff --git a/cdist b/cdist
index 4e10752b95f6aefba0334907d25d07e60e5b5c38..63bd9f29f9ee0978a484bfa71a16fdc9378af93a 100755 (executable)
--- a/cdist
+++ b/cdist
@@ -446,7 +446,7 @@ class Target:
         anything not in a list will be put into one.
         """
         if len(inspect.getfullargspec(tree.cscript['package']).args) == 3:
-            packages = tree.call('package', tree.version, options)
+            packages = tree.call('package', tree.version, tree.add_defaults(options))
         else:
             log_normal("Deprecated cscript package() method with no options parameter")
             packages = tree.call('package', tree.version)
@@ -459,7 +459,6 @@ class Target:
 
     def package(self, project, checkout, output_dir, options, notarize):
         tree = self.build(project, checkout, options, for_package=True)
-        tree.add_defaults(options)
         p = self._cscript_package(tree, options)
         self._copy_packages(tree, p, output_dir)
 
@@ -475,10 +474,9 @@ class Target:
         """test is the test case to run, or None"""
         tree = globals.trees.get(project, checkout, target)
 
-        tree.add_defaults(options)
         with TreeDirectory(tree):
             if len(inspect.getfullargspec(tree.cscript['test']).args) == 3:
-                return tree.call('test', options, test)
+                return tree.call('test', tree.add_defaults(options), test)
             else:
                 log_normal('Deprecated cscript test() method with no options parameter')
                 return tree.call('test', test)
@@ -861,8 +859,6 @@ class OSXSingleTarget(OSXTarget):
 
     def package(self, project, checkout, output_dir, options, notarize):
         tree = self.build(project, checkout, options, for_package=True)
-        tree.add_defaults(options)
-
         super().package(project, checkout, output_dir, options, notarize)