[ 
https://issues.apache.org/jira/browse/HADOOP-6671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13070699#comment-13070699
 ] 

Alejandro Abdelnur commented on HADOOP-6671:
--------------------------------------------

Hi Eric,

Thanks for testing it out and the feedback.

*Regarding the layout*

I've thought the layout you are describing only applies for RPM/DEB. I'll 
update it accordingly.

*Regarding package assembly in package phase*

I agree the 'verify' phase is not the right place, still the problem I'm facing 
is that as part of the TAR creation we need to do an antrun task before 
assembly:single and an antrun task after assembly:single. This is needed to 
preserve the symlinks of SOs both on copying and on taring (the assembly plugin 
converts symlinks into copied files both on copy and on taring). 

On solution for this would be to take the assembly work to a separate maven 
module (common-distro) as I had earlier. As this module will not have other job 
that creating the TAR (RPM/DEB) we can use intermediate phases.

The use of this module by the reactor (in the parent POM) would be in a 
profile, so only if doing -Dtar, -Drpm or -Ddeb it would kick in.

*Regarding your tar profile paragraph*

The idea is that the hadoop-tar descriptor will be generic for 
common/hdfs/mapred and any other downstream project that wants to use a similar 
layout. 

The Hadop-profile is a POM project, thus we cannot put the 
assemblies/annotations in there. In addition, it would break things in Maven if 
there are classes/resource in there as they would not be compiled as part of 
the child module, not they could be added a dependencies. Thus, they are 
separate modules (which eventually could be in a dev-support profile and 
released independently if we don't want to build them as part of the normal 
Hadoop build).

*Regarding the 'dev' directory*

I've struggled with the name for a bit, it was bin, maven now dev. I don't like 
it very much either. patch-build seems a bit odd as well, how about dev-support?

*Regarding the forward porting of the RPM/DEB packaging*

My idea is to first to get developers in Maven first (thus this patch, followed 
by HDFS and mapreduce mavenization).
 
And then continue with packaging, i.e. HADOOP-7411 would take care of the 
RPM/DEB of common.

I was hoping I would get some help from you here.


Thoughts?

Thxs.

Alejandro


> 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-AA.patch, HADOOP-6671-AB.patch, 
> 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-AA.sh, mvn-layout-AB.sh, 
> 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

        

Reply via email to