[ https://issues.apache.org/jira/browse/PIG-2362?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Cheolsoo Park updated PIG-2362: ------------------------------- Attachment: PIG-2362.10.patch Hi Gianmarco, Thank you very much for the review. Unfortunately, I realized that I hadn't incorporated PIG-2748 where {{pig-core.jar}} is renamed to {{pig-<version>.jar}}. This makes {{ant mvn-jar}} fail, so I fixed the issue in a new patch. The changes include: * Removed the {{pig-core}} target and {{pig-core.jar}} from the top level. * Build {{pig-<version>.jar}} in the {{pig}} and {{pig-withouthadoop}} targets. I verified that {{ant jar-all}} builds the same jar files as before. Would mind doing a review one more time? Thanks! > Rework Ant build.xml to use macrodef instead of antcall > ------------------------------------------------------- > > Key: PIG-2362 > URL: https://issues.apache.org/jira/browse/PIG-2362 > Project: Pig > Issue Type: Improvement > Reporter: Gianmarco De Francisci Morales > Assignee: Gianmarco De Francisci Morales > Priority: Minor > Fix For: 0.12 > > Attachments: PIG-2362.10.patch, PIG-2362.1.patch, PIG-2362.2.patch, > PIG-2362.3.patch, PIG-2362.4.patch, PIG-2362.5.patch, PIG-2362.6.patch, > PIG-2362.7.patch, PIG-2362.8.patch, PIG-2362.9.patch, > PIG-2362.9.patch.nowhitespace > > > Antcall is evil: http://www.build-doctor.com/2008/03/13/antcall-is-evil/ > We'd better use macrodef and let Ant build a clean dependency graph. > http://ant.apache.org/manual/Tasks/macrodef.html > Right now we do like this: > {code} > <target name="buildAllJars"> > <antcall target="buildJar"> > <param name="build.dir" value="jar-A"/> > </antcall> > <antcall target="buildJar"> > <param name="build.dir" value="jar-B"/> > </antcall> > <antcall target="buildJar"> > <param name="build.dir" value="jar-C"/> > </antcall> > </target> > <target name="buildJar"> > <jar destfile="target/${build.dir}.jar" basedir="${build.dir}/classfiles"/> > </target> > {code} > But it would be better if we did like this: > {code} > <target name="buildAllJars"> > <buildJar build.dir="jar-A"/> > <buildJar build.dir="jar-B"/> > <buildJar build.dir="jar-C"/> > </target> > <macrodef name="buildJar"> > <attribute name="build.dir"/> > <jar destfile="target/${build.dir}.jar" basedir="${build.dir}/classfiles"/> > </macrodef> > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira