diff options
| author | Carl Hetherington <cth@carlh.net> | 2022-02-19 22:34:45 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-02-19 22:34:45 +0100 |
| commit | 0b1c33732bcc66d00d4486c2ccf7f8111a076ae2 (patch) | |
| tree | 4621266c37b9092c08aaa4f4e8508497c52d80b3 | |
| parent | 0472bc3bab6557ff356b2cb313402b12b86c96e6 (diff) | |
Another attempt to fix unnecessary building while packaging.
| -rwxr-xr-x | cdist | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -447,16 +447,16 @@ class Target(object): copyfile(p, os.path.join(output_dir, os.path.basename(devel_to_git(tree.commit, p)))) def package(self, project, checkout, output_dir, options, notarize): - tree = self.build(project, checkout, options) + 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) - def build(self, project, checkout, options): + def build(self, project, checkout, options, for_package=False): tree = globals.trees.get(project, checkout, self) if self.build_dependencies: tree.build_dependencies(options) - tree.build(options) + tree.build(options, for_package=for_package) return tree def test(self, project, checkout, target, test, options): @@ -855,7 +855,7 @@ class OSXSingleTarget(OSXTarget): self.set('CXX', '"ccache g++"') def package(self, project, checkout, output_dir, options, notarize): - tree = self.build(project, checkout, options) + tree = self.build(project, checkout, options, for_package=True) tree.add_defaults(options) self.unlock_keychain() p = self._cscript_package_and_notarize(tree, options, self.can_notarize and notarize) @@ -876,7 +876,7 @@ class OSXUniversalTarget(OSXTarget): for target in self.sub_targets: tree = globals.trees.get(project, checkout, target) tree.build_dependencies(options) - tree.build(options) + tree.build(options, for_package=True) self.unlock_keychain() tree = globals.trees.get(project, checkout, self) @@ -1109,7 +1109,7 @@ class Tree(object): for i in self.dependencies(options): i[0].build(i[1]) - def build(self, options): + def build(self, options, for_package=False): if self.built: return @@ -1121,7 +1121,10 @@ class Tree(object): self.add_defaults(options) if not globals.dry_run: - if len(inspect.getfullargspec(self.cscript['build']).args) == 2: + num_args = len(inspect.getfullargspec(self.cscript['build']).args) + if num_args == 3: + self.call('build', options, for_package) + elif num_args == 2: self.call('build', options) else: self.call('build') |
