You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Steve Loughran (JIRA)" <ji...@apache.org> on 2010/03/01 12:18:05 UTC

[jira] Commented: (HBASE-2099) Move build to Maven

    [ https://issues.apache.org/jira/browse/HBASE-2099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12839646#action_12839646 ] 

Steve Loughran commented on HBASE-2099:
---------------------------------------

As part of the Ant team you can probably expect me to be -1 to Maven, but I take the view that "whatever suits your needs are best"

One thing you really, really have to look out for in Maven is getting the POMs right for downstream use. Bad metadata is a problem in both Ivy and M2 builds:
http://www.1060.org/blogxter/entry?publicid=9EE3794599F42C4E1D9BF2F2FE655180

The problem is that to get your build to work you just add on as many JARs as you need, but downstream things are different. Audit the POMs, they are now release artifacts of their own!

# Make sure that builds under hudson work with the latest version of everything being picked up. Don't be afraid to keep some build.xml files around to clean up all the local cache directories, which are effectively shared state across projects.
# Make sure that you can get functional testing to work. Maven is fairly biased towards "classic" webapp dev, not more complex workflows of requesting real/virtual machines from the infrastructure, deploying and testing on them. Ant isn't biased towards either, leaving you to do everything yourself.
# Don't have the build something that only one person can understand/maintain. They will become a SPOF. 

On the topic of tar, the Ant docs explain the issue, the main one being that >100 byte filenames are handled differently by different tools. you see, we in the Ant team do care about such problems, which are most likely to occur on non-linux Unix platforms:
http://ant.apache.org/manual/CoreTasks/tar.html



> Move build to Maven
> -------------------
>
>                 Key: HBASE-2099
>                 URL: https://issues.apache.org/jira/browse/HBASE-2099
>             Project: Hadoop HBase
>          Issue Type: Task
>            Reporter: stack
>         Attachments: findbugs.html, findbugs.html, HBase Move Script.txt, HBASE-2099.13.patch, HBASE-2099.14.patch, mvn.out, test-reports.zip
>
>
> This issue is for discussing pros and cons of moving hbase build to Apache Maven.
> Maven, if you take on its paradigm, does a lot for you.  There are also a bunch of nice plugins that do nice reports on state of project; findbugs, that nice plugin where you can give out urls that will resolve to lines in source code (a doxygen-like thing ... I've forgotten its name).  Other examples are a docbook plugin that would do the build inline with doc build.  We could start up the hbase book using docbook format and the hbase book would ride along with versions.
> As I see it -- and its a while since I've done this stuff so things may have since changed -- in the way of an easy move to maven is our src/contrib content.  Maven would have these as distinct projects pulling in their hbase dependency or, if you wanted to take on the maven subproject notion, then, hbase would be at same level in build as the contribs -- it would be a subproject too just built before the others.
> Anyone interested in working on this issue?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.