Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-4172

Leverage Maven Toolchains for cross-compiling

VotersWatch issueWatchers
    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: build
    • Labels:
      None

      Description

      Maven toolchains are a way of declaring prerequisites for a build, and allowing users to create configurations which convey the details of tools which satisfy those prerequisites.

      The most common use of toolchains is to specify the JDK version requirements, and many maven plugins will make use of the configured `jdk` toolchain to perform their work.

      It is becoming increasingly difficult/annoying to download and configure older JDKs for building different branches of Accumulo with different JDK requirements. The use of toolchains which specify the requirements can make it so switching a branch doesn't require one to perform any extra steps to ensure their JDK matches the build requirements for that branch.

      The downside is that users will be responsible for maintaining their own mapping to their local tools which satisfy the jdk requirements in `$HOME/.m2/toolchains.xml`

      However, this is a standard way of supporting cross-compilation across java versions, so we should consider implementing it in our maven configuration, so long as we have a requirement to ensure some branches can build and run on older JDKs.

        Attachments

          Activity

            People

            • Assignee:
              ctubbsii Christopher Tubbs
              Reporter:
              ctubbsii Christopher Tubbs

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment