[ https://issues.apache.org/jira/browse/HADOOP-6671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13067339#comment-13067339 ]
Eric Yang commented on HADOOP-6671: ----------------------------------- The directory structure is designed by artifact file type. This will introduce more latency for building optional parts in the commit build. It would be better to use profile to control the artifact output type. For example, docs, tar, rpm, and deb are just different profiles. This would shrink the directory structures to look like this: {noformat} trunk/pom.xml | |-- common/pom.xml | /src/packages/deb | /src/packages/rpm | /src/packages/tar | /src/docs/site | /src/docs/javadoc | |-- hdfs/dfsclient | /namenode | /datanode | |-- mapreduce | |-- hadoop {noformat} Using profile would ensure that package generation code or javadoc generation code are defined in one central place to reduce repetitive building/packaging code. HBase has profiles to control rpm/deb/tarball generation code, and it may be useful as a reference. Where hadoop is the aggregating submodule that copies artifacts from common, hdfs, mapreduce to create a release. I will port the ant rpm/deb work to maven after your patch is committed. > 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