Some post-build steps actually need to be run last, because other post-build steps add things to the buildlog (🤦♂).
This still builds submodules before their parent modules, but the build is grouped into the top-level modules by the sum of all selected submodule tree orders (0 being the neutral default).
Usage:
def init(module):
module.name = ":build"
# build this subtree really, realllly last
module.order = sys.maxsize
In modm this allows the :build submodule tree to always be run last.
Thinking some more about this, this isn't pretty, but every other solution (like "preregistering" operations on the buildlog during the build step) is significantly worse.
Some post-build steps actually need to be run last, because other post-build steps add things to the buildlog (🤦♂).
This still builds submodules before their parent modules, but the build is grouped into the top-level modules by the sum of all selected submodule tree orders (
0
being the neutral default).Usage:
In modm this allows the
:build
submodule tree to always be run last.@dergraaf How evil is this? cc @nesos this will help with https://github.com/modm-io/modm/pull/307