Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Implemented
-
None
-
None
-
None
-
None
Description
Currently a project is build bu running all its phases (e.g. compile, test, package, verify).
Lets say we have a multi module build with a module "lib" that contains the basic stuff so other modules depend on it (lets say "feature-a" and "feature-b") and of course we want everything is always fine so we have a lot of test in "lib" in compile scope.
Currently now "lib" is compiled and "feature-a" and "feature-b" have to wait until it has finished all phases so in the worst a whole build-tree can be blocked from building unless "lib" is finished.
What I like to propose is that there is a way to 'interleave' phases. For example currently 'package' is executed after test, but actually it could be performed before hands, also as soon as "lib" has passed its compile/package phase the other projects are allowed to run (because the artifact is already there even though not fully tested).
Of course this is only a rough description of the idea, e.g. to make this work, one maybe want to have a new 'package-main' phase that is performed right after 'compile' (and probably a package-test phase) ....