[ 
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)

Reply via email to