You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/10/20 16:42:00 UTC

[jira] [Commented] (MNG-5659) Project specific settings.xml

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

ASF GitHub Bot commented on MNG-5659:
-------------------------------------

nielsbasjes opened a new pull request, #839:
URL: https://github.com/apache/maven/pull/839

   Following this checklist to help us incorporate your
   contribution quickly and easily:
   
    - [x] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MNG) filed
          for the change (usually before you start working on it).  Trivial changes like typos do not
          require a JIRA issue. Your pull request should address just this issue, without
          pulling in other changes.
    - [x] Each commit in the pull request should have a meaningful subject line and body.
    - [x] Format the pull request title like `[MNG-XXX] SUMMARY`, where you replace `MNG-XXX`
          and `SUMMARY` with the appropriate JIRA issue. Best practice is to use the JIRA issue
          title in the pull request title and in the first line of the commit message.
    - [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    - [ ] Run `mvn clean verify` to make sure basic checks pass. A more thorough check will
          be performed on your pull request automatically.
    - [ ] You have run the [Core IT][core-its] successfully.
   
   If your pull request is about ~20 lines of code you don't need to sign an
   [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) if you are unsure
   please ask on the developers list.
   
   To make clear that you license your contribution under
   the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
   you have to acknowledge this by using the following check-box.
   
    - [x] I hereby declare this contribution to be licenced under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
   
    - [x] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   I'm one of the committers for Apache Avro and Apache Flink.
   
   [core-its]: https://maven.apache.org/core-its/core-it-suite/
   
   ---
   This is a first attempt to make it possible to automatically read a settings file which is part of a project. The situation where this is useful to me is in multi module projects within a company where a mandatory mirror must be used.
   
   The initial version of this pull request is incomplete as it is only the code to make it work, no tests and no documentation at this point.
   I will write all of those once you have approved the basic implementation direction and the core choices I have made so far.
   
   Right now:
   - The default assumed location is `${project.basedir}/.mvn/settings.xml`
   - If this file is present it is read with 
     - a prio higher than the global settings 
     - a lower prio than the user settings; I'm unsure if this is correct.
   - It is the same file spec as the normal settings.xml, yet in the project level context some of those settings may not make any sense.
   
   Looking forward to your feedback.




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