[
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
mvn-layout.sh
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.
Options:
* -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, 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