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

Modify maven-toolchain to look in ${maven.home}/conf/toolchains.xml and in ${user.home}/.m2/toolchains.xml

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.9
    • Fix Version/s: 3.3.1
    • Component/s: Toolchains
    • Labels:
      None

      Description

      Actually, we can only specify the toolchains.xml in ${user.home}/.m2/toolchains.xml.

      However, like for the settings.xml, it would be very convenient to specify a default toolchains.xml in ${maven.home}/conf/toolchains.xml

      The idea is : If there is NO ${user.home}/.m2/toolchains.xml,
      then uses ${maven.home}/conf/toolchains.xml,
      otherwise NONE defined.

      Merging both would also be good but not necessary.

      The change is very simple. Edit the file
      maven-toolchain\src\main\java\org\apache\maven\toolchain\DefaultToolchainManager.java

      and replace

      private PersistedToolchains readToolchainSettings() throws MisconfiguredToolchainException {
          File tch = new File(System.getProperty("user.home"), ".m2/toolchains.xml");
          if (tch.exists()) {
             MavenToolchainsXpp3Reader reader = new MavenToolchainsXpp3Reader();
             ...
      

      by

      private PersistedToolchains readToolchainSettings() throws MisconfiguredToolchainException {
          File tch = null;
          tch = new File(System.getProperty("user.home"), ".m2/toolchains.xml");
          if (tch == null || !tch.exists()) {
              tch = new File(System.getProperty("maven.home"), "conf/toolchains.xml");
          }
      
          if (tch.exists()) {
              MavenToolchainsXpp3Reader reader = new MavenToolchainsXpp3Reader();
              ...
      

      I did that on my local environment by compiling this 2.0.11-SNAPSHOT class and integrating it in my maven-2.0.9-uber.jar and it works perfectly.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rfscholte Robert Scholte
                Reporter:
                marco.lessard Marco Lessard
              • Votes:
                5 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: