[
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