hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ed Kohlwey (JIRA)" <>
Subject [jira] [Created] (HIVE-2229) Potentially Switch Build to Maven
Date Tue, 21 Jun 2011 15:05:47 GMT
Potentially Switch Build to Maven

                 Key: HIVE-2229
             Project: Hive
          Issue Type: Improvement
            Reporter: Ed Kohlwey
            Priority: Minor

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

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message