From 9a82b0136a6b9cd9d2000342a0506b7c8bf4897d Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Mon, 16 Apr 2018 21:29:21 -0400 Subject: extract_all_objects: Add 'recursive' keyword argument To maintain backward compatibility we cannot add recursive objects by default. Print a warning when there are recursive objects to be pulled and the argument is not set. After a while we'll do pull recursive objects by default. --- mesonbuild/interpreter.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'mesonbuild/interpreter.py') diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index a4c93de..b119b3d 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -606,8 +606,15 @@ class BuildTargetHolder(TargetHolder): gobjs = self.held_object.extract_objects(args) return GeneratedObjectsHolder(gobjs) + @permittedMethodKwargs({'recursive'}) def extract_all_objects_method(self, args, kwargs): - gobjs = self.held_object.extract_all_objects() + recursive = kwargs.get('recursive', False) + gobjs = self.held_object.extract_all_objects(recursive) + if gobjs.objlist and 'recursive' not in kwargs: + mlog.warning('extract_all_objects called without setting recursive ' + 'keyword argument. Meson currently defaults to ' + 'non-recursive to maintain backward compatibility but ' + 'the default will be changed in the future.') return GeneratedObjectsHolder(gobjs) def get_id_method(self, args, kwargs): -- cgit v1.1