Skip to content

doxygen: add ext_int to force build ordering

Federico Pellegrin requested to merge fedepell/waf:doxygen_ext_in into master

We are having problems with doxygen extra and generated code, as seldom we may get a:

Build failed
Traceback (most recent call last):
  File "/usr/share/waf/waflib/Runner.py", line 441, in task_status
    return tsk.runnable_status()
  File "/usr/share/waf/waflib/extras/doxygen.py", line 122, in runnable_status
    self.signature()
  File "/usr/share/waf/waflib/Task.py", line 651, in signature
    self.sig_implicit_deps()
  File "/usr/share/waf/waflib/Task.py", line 855, in sig_implicit_deps
    bld.imp_sigs[key] = self.compute_sig_implicit_deps()
  File "/usr/share/waf/waflib/Task.py", line 871, in compute_sig_implicit_deps
    self.are_implicit_nodes_ready()
  File "/usr/share/waf/waflib/Task.py", line 912, in are_implicit_nodes_ready
    raise Errors.TaskNotReady('not ready')
waflib.Errors.TaskNotReady: not ready

After some investigation and tests it seems that specifying the order with the ext_in solves the problem indeed. I'm not sure if this static ext_in is the best way (as being doxygen used for lots of stuff it may require to be changed in the future, I added for now the ones I see defined in other Tools/extras which is also what I need for the project) or if we should implement a parameter to the doxygen tg and then pass from the tg to the task these dynamically. Or if a mix of the two (leaving this sane defaults and allowing the user to specify) maybe.

What do you think?

Thanks!

F.

Merge request reports