From 1e1d4a837da4390e269c3eee6ec8a1517c2551a4 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 26 Apr 2024 10:52:30 +1000 Subject: [PATCH] waf: cope with CI python oddity --- Tools/ardupilotwaf/ap_library.py | 2 ++ Tools/ardupilotwaf/chibios.py | 6 +++++- Tools/ardupilotwaf/git_submodule.py | 4 ++-- wscript | 1 - 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Tools/ardupilotwaf/ap_library.py b/Tools/ardupilotwaf/ap_library.py index b49010ae06..188fe6146d 100644 --- a/Tools/ardupilotwaf/ap_library.py +++ b/Tools/ardupilotwaf/ap_library.py @@ -206,6 +206,8 @@ class ap_library_check_headers(Task.Task): # force dependency scan, if necessary self.compiled_task.signature() + if not self.compiled_task.uid() in self.generator.bld.node_deps: + return r, [] for n in self.generator.bld.node_deps[self.compiled_task.uid()]: # using common Node methods doesn't work here p = n.abspath() diff --git a/Tools/ardupilotwaf/chibios.py b/Tools/ardupilotwaf/chibios.py index e238e3b24a..a39b5cb566 100644 --- a/Tools/ardupilotwaf/chibios.py +++ b/Tools/ardupilotwaf/chibios.py @@ -18,7 +18,11 @@ import base64 _dynamic_env_data = {} def _load_dynamic_env_data(bld): bldnode = bld.bldnode.make_node('modules/ChibiOS') - tmp_str = bldnode.find_node('include_dirs').read() + include_dirs_node = bldnode.find_node('include_dirs') + if include_dirs_node is None: + _dynamic_env_data['include_dirs'] = [] + return + tmp_str = include_dirs_node.read() tmp_str = tmp_str.replace(';\n','') tmp_str = tmp_str.replace('-I','') #remove existing -I flags # split, coping with separator diff --git a/Tools/ardupilotwaf/git_submodule.py b/Tools/ardupilotwaf/git_submodule.py index be28216e9c..e2c727e05b 100644 --- a/Tools/ardupilotwaf/git_submodule.py +++ b/Tools/ardupilotwaf/git_submodule.py @@ -91,7 +91,7 @@ class update_submodule(Task.Task): else: r = Task.RUN_ME - if self.non_fast_forward: + if getattr(self,'non_fast_forward',[]): r = Task.SKIP_ME return r @@ -148,7 +148,7 @@ def git_submodule(bld, git_submodule, **kw): def _post_fun(bld): Logs.info('') for name, t in _submodules_tasks.items(): - if not t.non_fast_forward: + if not getattr(t,'non_fast_forward',[]): continue Logs.warn("Submodule %s not updated: non-fastforward" % name) diff --git a/wscript b/wscript index 61fffcb8be..cb4194af20 100644 --- a/wscript +++ b/wscript @@ -528,7 +528,6 @@ def configure(cfg): cfg.msg('Setting board to', cfg.options.board) cfg.get_board().configure(cfg) - cfg.load('clang_compilation_database') cfg.load('waf_unit_test') cfg.load('mavgen') cfg.load('dronecangen')