[
https://issues.apache.org/jira/browse/HADOOP-6671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13067425#comment-13067425
]
Eric Yang commented on HADOOP-6671:
-----------------------------------
The proposal looks sounding, but I am still concern if hdfs/mapreduce can use
hadoop-common-distro's profile to build packages? XML editor can helps in
visualizing the large structure. Having centralized definitions is easier to
replicate properly downstream.
HBase maven builds tarball by default. It is not a regression introduced
recently. Using profile can completely skip the package building rather than
initialized module then noop. The latter approach still cost a few seconds
more.
How about shorten hadoop-common-distro to hadoop-distro, and set it as the last
module to build? For developers, it would be ideal to compile and create jar
files in package phase, but not building distro packages. This could ensure
common to be a standalone module.
The layout and building sequence would then be:
{noformat}
trunk/pom.xml
|-- hadoop-project (dependency management)
|-- common
|-- hdfs
|-- mapreduce
|-- hadoop-docs (javadoc, doclet)
|-- hadoop-distro (packaging)
{noformat}
By using this layout, common packaging steps can be consolidated, and without
-Ptar, it is noop for hadoop-distro module. The same applies to hadoop-docs.
> To use maven for hadoop common builds
> -------------------------------------
>
> Key: HADOOP-6671
> URL: https://issues.apache.org/jira/browse/HADOOP-6671
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: build
> Affects Versions: 0.22.0
> Reporter: Giridharan Kesavan
> Assignee: Alejandro Abdelnur
> Attachments: HADOOP-6671-cross-project-HDFS.patch,
> HADOOP-6671-e.patch, HADOOP-6671-f.patch, HADOOP-6671-g.patch,
> HADOOP-6671-h.patch, HADOOP-6671-i.patch, HADOOP-6671-j.patch,
> HADOOP-6671-k.sh, HADOOP-6671-l.patch, HADOOP-6671-m.patch,
> HADOOP-6671-n.patch, HADOOP-6671-o.patch, HADOOP-6671-p.patch,
> HADOOP-6671-q.patch, HADOOP-6671.patch, HADOOP-6671b.patch,
> HADOOP-6671c.patch, HADOOP-6671d.patch, build.png, common-mvn-layout-i.sh,
> hadoop-commons-maven.patch, mvn-layout-e.sh, mvn-layout-f.sh,
> mvn-layout-k.sh, mvn-layout-l.sh, mvn-layout-m.sh, mvn-layout-n.sh,
> mvn-layout-o.sh, mvn-layout-p.sh, mvn-layout-q.sh, mvn-layout.sh,
> mvn-layout.sh, mvn-layout2.sh, mvn-layout2.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