Add 'package' target to contrib/build-contrib.xml
-------------------------------------------------

                 Key: HADOOP-2207
                 URL: https://issues.apache.org/jira/browse/HADOOP-2207
             Project: Hadoop
          Issue Type: Improvement
            Reporter: stack
            Priority: Minor


Currently, contribs each build a jar file that is deployed to the contrib 
directory when hadoop is packaged.  Here is a listing:

{code}
ls build/hadoop-0.16.0-dev/contrib/
hadoop-0.16.0-dev-abacus-examples.jar
hadoop-0.16.0-dev-abacus.jar
hadoop-0.16.0-dev-datajoin-examples.jar hadoop-0.16.0-dev-datajoin.jar
hadoop-0.16.0-dev-hbase.jar
hadoop-0.16.0-dev-streaming.jar
{code}

This works when the contrib product is a jar only.

The hbase contrib needs to add scripts, configurations and its own jar 
dependencies.  HADOOP-1648 proposed amending the general cluster CLASSPATH to 
add contrib jars (contrib dependencies would be added to lib/contrib).  
HADOOP-2196 was proposing that hbase scripts be installed into the bin 
directory beside the hadoop core scripts.

Discussion up on #hadoop IRC channel this morning came up w/ a solution that 
better keeps the separation between whats core and whats contrib.  In synopsis, 
responsibility for the contrib packaging is passed down to contribs as a new 
target in build-contrib.xml.  The default would build the jar as is done now 
only rather than package the jar under the contrib directory, instead, the 
contrib jar would be put into a subdirectory named for the contrib.  So for 
hbase, instead of packaging the hbase jar at contrib/hadoop-X.X.X-hbase.jar, 
instead it would sit at contrib/hbase/hadoop-X.X.X-hbase.jar .  Those contribs 
that comprise of more than just a jar product -- e.g. hbase with its start/stop 
scripts, dependent libraries and configurations -- on invocation of the 
'package' target, would create a bin, lib, and conf directory inside 
contrib/hbase/.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to