[ 
https://issues.apache.org/jira/browse/MNG-5659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17710790#comment-17710790
 ] 

Nils Breunese commented on MNG-5659:
------------------------------------

I have previously worked in an environment where everyone was supposed to 
maintain a global {{~/.m2/settings.xml}}, but there were always issues with 
people not having the file, not having the right contents in the file, or the 
global settings interfering with the build of some third-party project. We like 
to keep the Maven settings for each project contained in the project repo, so 
any project will always build right after cloning it, without depending on a 
global {{~/.m2/settings.xml}} file.

Our in-company project generator generates a {{.mvn/settings.xml}} file with 
the correct default settings for in-company projects and a 
{{.mvn/maven.config}} file which includes {{--settings=.mvn/settings.xml}} and 
this has been working great for us. This lets people add more project-specific 
settings when they need to, for instance for deployment settings like a 
username if the project is a library. And nobody needs to have or maintain a 
global {{~/.m2/settings.xml}} themselves at all.

The only downside of this setup is what I mentioned before: it won't let you 
run Maven from another directory than the root directory of the project, 
because of the relative path in {{--settings=.mvn/settings.xml}}. If we could 
somehow reference a file in the project relative to the project base directory 
that would no longer be an issue.

> Project specific settings.xml
> -----------------------------
>
>                 Key: MNG-5659
>                 URL: https://issues.apache.org/jira/browse/MNG-5659
>             Project: Maven
>          Issue Type: New Feature
>          Components: FDPFC
>            Reporter: Joachim Van der Auwera
>            Priority: Major
>             Fix For: Issues to be reviewed for 4.x
>
>         Attachments: mvn.patch
>
>
> It would be useful to have a settings.xml file next to the project pom that 
> could contain project specific settings.  For example, when switching between 
> projects it is sometimes necessary to also change the location of the local 
> repository, or use a different set of repositories and/or mirror settings for 
> each project.
> If a settings.xml file could be included with a project checkout, then the 
> repositories needed for the build could be included (instead of putting them 
> in the pom) along with any other project specific settings.
> The tricky part is intelligently handling multi-module projects.  For a 
> multi-module project I don't want to include a separate settings.xml file for 
> each directory.  So Maven could recursively check each parent directory until 
> it either (1) finds a settings.xml, (2) finds a directory with no pom.xml, or 
> (3) finds the root directory.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to