hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alejandro Abdelnur (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-6671) To use maven for hadoop common builds
Date Fri, 20 May 2011 01:09:48 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-6671?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Alejandro Abdelnur updated HADOOP-6671:

    Attachment: HADOOP-6671.patch

How to apply the patch (I'm using GIT):

* Checkout hadoop-common trunk
* run the mvn-layout.sh script
* git 'add -u' and 'git add' all new files dirs (git will recognize all the moving of files
are renames)
* commit all changes as first commit (a separate JIRA could be created for this if you find
it necessary)
* apply the HADOOP-6671.patch
* test all works as indicated below
* commit

It requires Maven 3

Typical Maven goals:

* mvn clean   
* mvn compile
* mvn test
* mvn package

The last one generates the TARBALL. As with the Ant build, FORREST_HOME must be defined.


* -Dtest=<TestClass> to run a single test
* -DskipTests to skip running the tests (package by default runs tests)
* -Dcompile.native to compile the native code

This patch does the minimal code changes (one line in a test class where 'build/' was hardcoded)
and the fixFont script for chinese documentation.

There are some testcases that are writing files in the current directory instead under the
build directory. Those should be fixed as part of a follow up issue (thus concentrating this
one in just the mavenization).

Native code compilation and Documentation generation are done using 2 auxiliary ant scripts
invoked from Maven POM.

As a follow up, when Mavenizing HDFS and MAPREDUCE we can introduce a parent POM file where
all dependencies versions are commonly defined (same version for all).

A couple of JAR files are missing from the final TARBALL, I assume they were included in the
Ant build due to a ivy scope mistake (jdiff, aspectj-tools)

JDIFF/Clover/FindBugs/Cobertura/etc/etc can be easily integrated in the Maven POM. But again,
I think this should be done incrementally on top of this.

> To use maven for hadoop common builds
> -------------------------------------
>                 Key: HADOOP-6671
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6671
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.22.0
>            Reporter: Giridharan Kesavan
>         Attachments: HADOOP-6671.patch, build.png, hadoop-commons-maven.patch, mvn-layout.sh,
> We are now able to publish hadoop artifacts to the maven repo successfully [ Hadoop-6382]
> Drawbacks with the current approach:
> * Use ivy for dependency management with ivy.xml
> * Use maven-ant-task for artifact publishing to the maven repository
> * pom files are not generated dynamically 
> To address this I propose we use maven to build hadoop-common, which would help us to
manage dependencies, publish artifacts and have one single xml file(POM) for dependency management
and artifact publishing.
> I would like to have a branch created to work on mavenizing  hadoop common.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message