[ 
https://issues.apache.org/jira/browse/MNG-6762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17423213#comment-17423213
 ] 
Anatoly Zaretsky edited comment on MNG-6762 at 10/1/21, 9:53 AM:
-----------------------------------------------------------------

[~michael-o] While adding the resolution of environment variables to 
.mvn/maven.config processing might help solve the problem, it still requires 
manual intervention: namely changing .mvn/maven.config to explicitly reference 
some variable and setting up and maintaining an external infrastructure to 
define this variable (shell scripts, CI settings, etc.). Also this 
inconsistency between "mvn -f dir ..." and "cd dir; mvn ..." still feels 
somewhat unnatural.

What are your thougts on implicitly resolving relative paths in 
.mvn/maven.config against ${maven.multiModuleProjectDirectory}? This is a far 
less generic and powerful feature than MNG-6303, and is quite easy to implement 
in a portable way. Two years ago I experimented with implementing it, but did 
not proceed with a pull request due to the lack of personal time and some 
uncertainty about whether is was actually useful 
([https://github.com/apache/maven/compare/master...azaretsky:cli-maven.config-resolution]).
 If you find the idea viable, I could revive it.


was (Author: anatoly.zaretsky):
[~michael-o] While adding the resolution of environment variables to 
.mvn/maven.config processing might help solve the problem, it still requires 
manual intervention: namely changing .mvn/maven.config to explicitly reference 
some variable and setting up and maintaining an external infrastructure to 
define this variable (shell scripts, CI settings, etc.). Also this 
inconsistency between "mvn -f dir ..." and "cd dir; mvn ..." still feels 
somewhat unnatural.

What are your thougts on implicitly resolving relative paths in 
.mvn/maven.config against ${maven.multiModuleProjectDirectory}? This is a far 
less generic and powerful feature than MNG-6303, and is quite easy to implement 
in a portable way. Two years ago I experimented with implementing it, but did 
not proceed with a pull request due to the lack personal time and some 
uncertainty about whether is was actually useful 
([https://github.com/apache/maven/compare/master...azaretsky:cli-maven.config-resolution]).
 If you find the idea viable, I could revive it.

> Multimodule project with .mvn/settings.xml not working properly
> ---------------------------------------------------------------
>
>                 Key: MNG-6762
>                 URL: https://issues.apache.org/jira/browse/MNG-6762
>             Project: Maven
>          Issue Type: Improvement
>    Affects Versions: 3.5.4
>            Reporter: Morten Minke
>            Priority: Minor
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> I have a project with the following setup:
>  
> {noformat}
> - MyProject
>   |- .mvn
>   |  |- maven.config
>   |  |- settings.xml
>   |- MyModule1
>   |  |- pom.xml
>   |- MyModule2
>   |  |- pom.xml
>   |- pom.xml{noformat}
>  
> The .mvn/maven.config file contains the following:
> {noformat}
> ..
> --settings .mvn/settings.xml{noformat}
> With this setup, I cannot build the modules separately because it cannot find 
> the .mvn/settings.xml file in the MyModule1 directory.
>  
> I looked into the code and saw that in the mvn script, the .mvn folder is 
> searched for in the parent folders. If it is found, that folder is marked as 
> the 'maven.multiModuleProjectDirectory'.
>  
> However, as soon as the configuration is loaded, this 
> multiModuleProjectDirectory is not used anymore for the interpretation of the 
> --settings property, therefor maven tries to find the .mvn/settings.xml file 
> inside the MyModule1 folder where it is not found.
> This results in an Exception and termination of Maven.
>  
> I thought of a couple of ways this could be solved:
>  * Allow for a variable substitution to work in the maven.config file and 
> thus reference something like:
> {noformat}
> ..
> --settings ${baseDir}/.mvn/settings.xml{noformat}
>  * When the maven.multiModuleProjectDirectory is configured and the 
> --settings flag is a relative directory, than use the 
> maven.multiModuleProjectDirectory as the root to obtain the settings.xml file.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to