[ https://issues.apache.org/jira/browse/MNG-7038?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17706523#comment-17706523 ]
ASF GitHub Bot commented on MNG-7038: ------------------------------------- gnodet commented on PR #1061: URL: https://github.com/apache/maven/pull/1061#issuecomment-1489027939 > > well the parent-child relation, and I often build setups where there are not really parent/child > > as much as the `.mvn` thing actually, we are used to get it in the root dir but with fake parents (submodules for ex) it can be in the wrong dir so both strategies are as bad but relying on a recent addition and something not required by the project sounds very fragile upfront. I don't think it's broken, it's your use case which is wrong. If you aggregate projects using submodules in a bigger aggregator, the definition of the `rootdir` indicates it won't bubble up, and that's definitely what we want, else the project build may fail locating files that are pointed to. If we want a property that would point to the upper aggregator directory, we can define another property for that in a new PR, but I'm not sure about the use case for it yet, do you actually have one ? Ffwiw, `git` has some similar properties to go up out of the gitmodule. > Introduce public property to point to a root directory of (multi-module) > project > -------------------------------------------------------------------------------- > > Key: MNG-7038 > URL: https://issues.apache.org/jira/browse/MNG-7038 > Project: Maven > Issue Type: Improvement > Reporter: Envious Guest > Priority: Major > Fix For: Issues to be reviewed for 4.x > > > This is a request to expose a property *maven.multiModuleProjectDirectory* > which is currently internal (or introduce a brand new one with analogous > functionality). > * For a single-module project, its value should be same as *project.basedir* > * For multi-module project, its value should point to a project.basedir of a > root module > Example: > multi-module // located at /home/me/sources > +- module-a > +- module B > Sample multi-module/pom.xml: > {{<project>}} > {{ <parent>}} > {{ <groupId>com.acme</groupId>}} > {{ <artifactId>corp-parent</artifactId>}} > {{ <version>1.0.0-RELEASE</version>}} > {{ </parent>}} > {{ <groupId>com.acme</groupId>}} > {{ <artifactId>multi-module</artifactId>}} > {{ <version>0.5.2-SNAPSHOT</version>}} > {{ <modules>}} > {{ <module>module-a</module>}} > {{ <module>module-b</module>}} > {{ </modules>}} > {{</project>}} > The property requested should return /home/me/sources/multi-module, > regardless of whether it's referenced in any of the child modules (module-a, > module-b) or in multi-module. > Note that multi-module itself has parent (e.g. installed in a local > repository), so the new property should be smart enough to detect it and > still point to /home/me/sources/multi-module instead of the local repository > where the corp-parent is installed. > The use-case for such a property could be to have a directory for combined > report of static analysis tools. Typical example - jacoco combined coverage > reports. -- This message was sent by Atlassian Jira (v8.20.10#820010)