[ https://issues.apache.org/jira/browse/HIVE-5714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13827062#comment-13827062 ]
Andrew Bayer commented on HIVE-5714: ------------------------------------ Yes, do separate them if you possibly can - if you're just running mvn clean install with no special magic (i.e., no javadoc aggregation, site gen, etc, and any assembly is in a separate module, not in the top-level POM), you'll be ok, but if you're doing anything at all strange (which, most likely, you are!), it's much, much cleaner to have a separate hive-parent/pom.xml or something like that, with the common build plugin configs, dependency management sections, properties, etc that need to be inherited by everything else, and then have everything else, including the top-level POM, inherit from that parent. The parent would still be one of the modules in the top-level POM, but that works out ok. Then you can do whatever whacky aggregation stuff you need in the top-level POM while being sure they'll run *after* all the other modules - if everything inherits from the top-level POM, it's gotta build *before* everything else, which can lead to needing to do a second mvn call for site/javadoc aggregation/etc or you end up picking up stale bits (or the build barfs if there isn't already an artifact of the submodule in question with a new version, etc)... I'm a bit passionate on this subject, but I think the evidence backs me up: separating inheritance from reactor tends to make a faster, cleaner and more reliable build. > Separate reactor root or aggregator from parent pom > --------------------------------------------------- > > Key: HIVE-5714 > URL: https://issues.apache.org/jira/browse/HIVE-5714 > Project: Hive > Issue Type: Sub-task > Reporter: Brock Noland > > It's a best practice to have a separate reactor pom from parent pom. More > details in FLUME-2199. -- This message was sent by Atlassian JIRA (v6.1#6144)