During non-parallel build aggregate POMs are built last provided there is no parent-child relationships between it and its submodules (correct me if I am wrong).
Is that preserved during parallel builds? Can I assume that root POM is built after all its submodules are built? According to the build logs, it seems like the answer is "no", but maybe I am missing something.
If answer is "no", how can I ensure that aggregate POM is built last? For example, I want to run assembly plugin after all submodules are built (in parallel build)? Of course, I can run separate "mvn -N assembly:assembly" command to assemble built stuff, but is there a way to do that during regular build?