I have several Maven projects which share a common parent as following:
project-parent
project-1
project-2: includes project-1
project-3: includes project-2
Here, project-3
has project-2
in its dependencies and project-2
has project-1
in its dependencies, as an example.
When I push a project to git
, Jenkins
automatically rebuilds to dependent projects. For example, when I push project-3
, project-2
will be rebuilt. Because of that, project-1
will be rebuilt as well. This happens because Jenkins has knowledge about the dependency graph.
However, when I build project-3
locally on my development machine, I have to remember to rebuild project-2
(and project-1
) as well.
I could add a <modules>...</modules>
section to the parent project and simply rebuild the parent project. This will rebuild the whole project, all child projects included. However, I would rather not do that, as there are a lot of projects and some of them require a lot of time to build.
So I want to build one project (the one I'm working on) and somehow automatically (or conveniently) rebuild all dependent projects, similar to the Jenkins behavior. Basically, I want to achieve the Jenkins behavior locally on my development machine. Is this possible?