Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-2229

Potentially Switch Build to Maven


    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:


      I want to propose this idea as gently as possible, because I know there's a lot of passion around build tools these days.

      There should at least be some discussion around the merits of Maven vs. Ant/IVY.

      If there's a lot of interest in switching Hive to Maven, I would be willing to volunteer some time to put together a patch.

      The reasons to potentially look at Maven for the build system include:

      • Simplified build scripts/definitions
      • Getting features like publishing test artifacts "automagically"
      • Very good IDE integration using M2 eclipse
      • IDE integration also supports working on multiple projects at the same time which may have dependencies on eachother.
      • If you absolutely must you can use the maven-antrun-plugin
      • Despite the fact that people have trouble thinking in maven at first, it becomes easy to work with once you know it
      • This supports knowledge reuse

      Reasons for Ant/Ivy

      • There's more flexibility
      • The system's imperative style is familiar to all programmers, regardless of their background in the tool

      Reasons not to go Maven

      • The build system is hard to learn for those not familiar with Maven due to its unusual perspective on projects as objects
      • There's less flexibility
      • If you wind up dropping down to the maven ant plugin a lot everything will be a big mess

      Reasons not to continue Ant/Ivy

      • Despite the fact that the programming paradigm is familiar, the structure of Ant scripts is not very standardized and must be re-learned on pretty much every project
      • Ant/Ivy doesn't emphasize reuse very well
      • There's a constant need to continue long-running development cycles to add desirable features to build scripts which would be simple using other build systems




            • Assignee:
              electrum David Phillips
              ekohlwey Ed Kohlwey
            • Votes:
              6 Vote for this issue
              8 Start watching this issue


              • Created: