You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by Prashant Kommireddi <pr...@gmail.com> on 2013/02/14 06:59:57 UTC

Pig standalone jar

Should pig have a standalone jar? We have a case when building pig with
external code produces jar conflicts. Just like we have "pig-withouthadoop"
as a target, does it make sense to do "pig-standalone.jar" too?

-Prashant

Re: Pig standalone jar

Posted by Prashant Kommireddi <pr...@gmail.com>.
Thanks Cheolsoo, that's exactly what I was looking for.

On Thu, Feb 14, 2013 at 9:49 AM, Cheolsoo Park <ch...@cloudera.com>wrote:

> We already generate core pig jar even though it's not published on Maven
> repo. If you run "ant clean jar", you will find two jars under the build
> dir:
>
> -rw-r--r--  1 cheolsoo cheolsoo  3411312 Feb 14 09:41
> pig-0.12.0-SNAPSHOT.jar
> -rw-r--r--  1 cheolsoo cheolsoo 16225627 Feb 14 09:41
> pig-0.12.0-SNAPSHOT-withdependencies.jar
>
> "pig-0.12.0-SNAPSHOT.jar" contains only Pig but nothing else, whereas
> "pig-0.12.0-SNAPSHOT-withdependencies.jar" contains minimal dependencies.
> Please look at build.xml regarding what dependencies are packaged into
> these jar files:
>
>     <fileset dir="${ivy.lib.dir}"
> id="runtime.dependencies-withouthadoop.jar">
>         <patternset id="pattern.runtime.dependencies-withouthadoop.jar">
>             <include name="antlr-runtime-${antlr.version}.jar"/>
>             <include name="ST4-${stringtemplate.version}.jar"/>
>             <include name="jline-${jline.version}.jar"/>
>             <include name="jackson-mapper-asl-${jackson.version}.jar"/>
>             <include name="jackson-core-asl-${jackson.version}.jar"/>
>             <include name="joda-time-${joda-time.version}.jar"/>
>             <include name="guava-${guava.version}.jar"/>
>             <include name="automaton-${automaton.version}.jar"/>
>             <include name="jansi-${jansi.version}.jar"/>
>         </patternset>
>     </fileset>
>
>     <fileset dir="${ivy.lib.dir}" id="runtime.dependencies.jar">
>         <patternset id="pattern.runtime.dependencies.jar">
>             <patternset
> refid="pattern.runtime.dependencies-withouthadoop.jar"/>
>             <include name="hadoop-core-${hadoop-core.version}.jar"/>
>             <include name="hadoop-*-${hadoop-common.version}.jar"/>
>             <exclude name="hadoop-hdfs-${hadoop-hdfs.version}.jar"/>
>             <include name="junit-${junit.version}.jar"/>
>             <include name="jsch-${jsch.version}.jar"/>
>             <include name="protobuf-java-${protobuf-java.version}.jar"/>
>             <include name="avro-${avro.version}.jar"/>
>             <include name="commons*.jar"/>
>             <include name="log4j*.jar"/>
>             <include name="slf4j*.jar"/>
>             <include name="jsp-api*.jar"/>
>         </patternset>
>     </fileset>
>
>     <fileset dir="${ivy.lib.dir}" id="core.dependencies.jar">
>         <exclude name="**.*jar"/>
>     </fileset>
>
> Thanks,
> Cheolsoo
>
>
>
> On Thu, Feb 14, 2013 at 9:32 AM, Bill Graham <bi...@gmail.com> wrote:
>
> > How would this be different than pig-*-withdependencies.jar?
> >
> >
> > On Wed, Feb 13, 2013 at 9:59 PM, Prashant Kommireddi <
> prash1784@gmail.com
> > >wrote:
> >
> > > Should pig have a standalone jar? We have a case when building pig with
> > > external code produces jar conflicts. Just like we have
> > "pig-withouthadoop"
> > > as a target, does it make sense to do "pig-standalone.jar" too?
> > >
> > > -Prashant
> > >
> >
>

Re: Pig standalone jar

Posted by Cheolsoo Park <ch...@cloudera.com>.
We already generate core pig jar even though it's not published on Maven
repo. If you run "ant clean jar", you will find two jars under the build
dir:

-rw-r--r--  1 cheolsoo cheolsoo  3411312 Feb 14 09:41
pig-0.12.0-SNAPSHOT.jar
-rw-r--r--  1 cheolsoo cheolsoo 16225627 Feb 14 09:41
pig-0.12.0-SNAPSHOT-withdependencies.jar

"pig-0.12.0-SNAPSHOT.jar" contains only Pig but nothing else, whereas
"pig-0.12.0-SNAPSHOT-withdependencies.jar" contains minimal dependencies.
Please look at build.xml regarding what dependencies are packaged into
these jar files:

    <fileset dir="${ivy.lib.dir}"
id="runtime.dependencies-withouthadoop.jar">
        <patternset id="pattern.runtime.dependencies-withouthadoop.jar">
            <include name="antlr-runtime-${antlr.version}.jar"/>
            <include name="ST4-${stringtemplate.version}.jar"/>
            <include name="jline-${jline.version}.jar"/>
            <include name="jackson-mapper-asl-${jackson.version}.jar"/>
            <include name="jackson-core-asl-${jackson.version}.jar"/>
            <include name="joda-time-${joda-time.version}.jar"/>
            <include name="guava-${guava.version}.jar"/>
            <include name="automaton-${automaton.version}.jar"/>
            <include name="jansi-${jansi.version}.jar"/>
        </patternset>
    </fileset>

    <fileset dir="${ivy.lib.dir}" id="runtime.dependencies.jar">
        <patternset id="pattern.runtime.dependencies.jar">
            <patternset
refid="pattern.runtime.dependencies-withouthadoop.jar"/>
            <include name="hadoop-core-${hadoop-core.version}.jar"/>
            <include name="hadoop-*-${hadoop-common.version}.jar"/>
            <exclude name="hadoop-hdfs-${hadoop-hdfs.version}.jar"/>
            <include name="junit-${junit.version}.jar"/>
            <include name="jsch-${jsch.version}.jar"/>
            <include name="protobuf-java-${protobuf-java.version}.jar"/>
            <include name="avro-${avro.version}.jar"/>
            <include name="commons*.jar"/>
            <include name="log4j*.jar"/>
            <include name="slf4j*.jar"/>
            <include name="jsp-api*.jar"/>
        </patternset>
    </fileset>

    <fileset dir="${ivy.lib.dir}" id="core.dependencies.jar">
        <exclude name="**.*jar"/>
    </fileset>

Thanks,
Cheolsoo



On Thu, Feb 14, 2013 at 9:32 AM, Bill Graham <bi...@gmail.com> wrote:

> How would this be different than pig-*-withdependencies.jar?
>
>
> On Wed, Feb 13, 2013 at 9:59 PM, Prashant Kommireddi <prash1784@gmail.com
> >wrote:
>
> > Should pig have a standalone jar? We have a case when building pig with
> > external code produces jar conflicts. Just like we have
> "pig-withouthadoop"
> > as a target, does it make sense to do "pig-standalone.jar" too?
> >
> > -Prashant
> >
>

Re: Pig standalone jar

Posted by Bill Graham <bi...@gmail.com>.
How would this be different than pig-*-withdependencies.jar?


On Wed, Feb 13, 2013 at 9:59 PM, Prashant Kommireddi <pr...@gmail.com>wrote:

> Should pig have a standalone jar? We have a case when building pig with
> external code produces jar conflicts. Just like we have "pig-withouthadoop"
> as a target, does it make sense to do "pig-standalone.jar" too?
>
> -Prashant
>