[ 
https://issues.apache.org/jira/browse/MNG-7038?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Envious Guest updated MNG-7038:
-------------------------------
    Description: 
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.

  was:
This is a request to expose a property analogous to 
*maven.multiModuleProjectDirectory* which is currently internal. 
 * 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.


> 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
>
> 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.3.4#803005)

Reply via email to