Currently, I have the following project structure in my multi-module maven project:
App Root
|-- app_CLI
| |-- pom.xml
|-- app_WEB
| |-- pom.xml
|-- module_a
| |-- pom.xml
|-- module_core
| |-- pom.xml
|-- pom.xml
In the project root, I have my parent pom. that declares common dependencies and plugins, like javaDoc and jacoc.
In the
<modules>-
Section it references the products/interfaces (CLI, WEB) as well as the modules. All Modules except the parent contain sourcecode:
<modules>
<module>app_CLI</module>
<module>app_WEB</module>
<module>module_a</module>
<module>module_core</module>
</modules>
app_CLI has a dependency on module_a which has a dependency on module_core
I build my application using mvn package/install on the parent.pom which builds all my modules and apps just like I want to have it.
I want to achieve that each module has its own JavaDoc, Surefire/Failsafe-Report and JaCoCo Coverage Report and additionally I want to aggregate the reports for app_CLI and app_WEB.
Would I need an additional aggregator pom maybe even for each app?
Is it possible to aggregate the reports of app_CLI and the module_a without any additional pom?
How to appropriately setup the project structure and poms for this scenario?
I tried the aggregation in the parent pom, which does not make sense as this is not the actual app itself.