Multi-Module Task Dependencies


(peter lavalle) #1

I want the outputs of one task to be available to an identical task in another submodule.

I’m trying to make yet-another plugin for compilation (of C/++, .hs, .coffee, .js et al) and source code generation.
So, I’m making a plugin and task/s that (so far) generate CMakeLists.txt, Android.mk, .vcxproj or whatever for each module to build the source code.

I have a multi-module build for this.
I can reach around and find the tasks from “other” submodules, but, I can’t seem to enforce any execution order.

So, with …

  • root project: RootModule
    • sub project: NativeCommandLine (requires SharedModule)
    • sub project: NativeGUI (requires SharedModule)
    • sub project: SharedModule

… I find that the NativeGUI tasks are executed before SharedModule which means that the SharedModule results aren’t ready.

Bad.

Since the dependency { ... } stuff happens after plugins are installed (AFAIK) … I’m guessing that the dependencies are connected after.

I need my tasks executed in order based on the dependency relations … right? How can I do that?