Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-6392

Add Project Settings .mvn/settings.xml

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 3.5.3
    • None
    • Bootstrap & Build, Settings
    • None

    Description

      Maven originally have two settings slots, user and global. But the project need and should have more ability to control how itself built by maven. Just follow the core-extension way, we can add a new settings slot, project settings at 

       

      ${maven.multiModuleProjectDirectory}/.mvn/settings.xml

       

       

      Then the settings merge order from high priority to low is

      • project level
      • user level
      • global level

      This order is widely used in many projects such as git.

       

      Special fields in projects settings

      Some fields should be controlled only by the user, not any project, so they are always ignored and copied back from user or global level settings:

      • localRepository
      • interactiveMode
      • offline
      • usePluginRegistry
      • proxies
      • servers.server[].{username,password,privateKey,passphrase,filePermissions,directoryPermissions} - ignored and copied from user/global settings

       

       

      With this feature, many things become easy. When we developing multiply projects from different organizations/companies/envrionments, the maven configurations may conflict, and are annoying to manage (edit manually or use some switch scripts each time we switch the project or environment). Another problem is when using some corp maven repositories or mirros for bootstraping the team common root poms or core-extensions, the developers have to do some setup actions. But the projects should be `mvn verify`-ed out of box.

       

      Here is a fast implementation via core-extension, but this feature should woks before loading extensions.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              gzm55 James Z.M. Gao
              Votes:
              2 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: