[ https://issues.apache.org/jira/browse/MNG-7038?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17704286#comment-17704286 ]
ASF GitHub Bot commented on MNG-7038: ------------------------------------- w6et commented on PR #1061: URL: https://github.com/apache/maven/pull/1061#issuecomment-1481644481 > JIRA issue: [[MNG-7038](https://issues.apache.org/jira/browse/MNG-7038)] Introduce public property to point to a root directory of (multi-module) project > > This PR introduces two properties: > > * `session.topdir` / `topdir` : _the directory of the topmost project being built, usually the current directory or the directory pointed at by the `-f`/`--file` command line argument_. The `topdir` is similar to the `executionRootDirectory` property available on the session, but renamed to make it coherent with the new `rootdir` and to avoid using _root_ in its name. The `topdir` property is computed by the CLI as the directory pointed at by the `-f`/`--file` command line argument, or the current directory if there's no such argument. > * `session.rootdir` / `rootdir` : _the parent directory containing a `.mvn` subdirectory, usually the directory containing the topmost `pom.xml` of the project_. The `rootdir` property is roughly the same as the `${maven.multiModuleProjectDirectory}`, but computed by the CLI. If the `rootdir` can not be properly determined (usually because there's no `.mvn` directory), a warning will be printed to the console. > > The `topdir` and `rootdir` properties are made available on the `MavenSession` / `Session` and deprecate the `executionRootDirectory` and `multiModuleProjectDirectory` properties. The `rootdir` should never change for a given project and is thus made available for profile activation and model interpolation. The goal is also to make it available as a system property during [command line arguments interpolation](https://github.com/apache/maven/pull/1062). i think we can define a build.yml\json, generate build-lock.yml\json at lifecycle process-resources,in build.yml,can load properties file,can define any public properties with expression(value from sys/user env properties or properties file) > 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)