From: David M. <re...@or...> - 2004-04-12 05:04:56
|
Hi, I've converted a Makefile to an ant build.xml, in order to make it fit in better with an otherwise 100%-java project. My question is - how do I invoke jythonc from ant? I've tried: <target name="jar"> <mkdir dir="./build" /> <exec executable="jythonc" dir="." resolveExecutable="true"> <env key="CLASSPATH" path="....."/> <arg value="--jar"/> <arg path="./build/i2psam.jar"/> <arg path="./src/i2psam.py"/> </exec> </target> This works fine in *nix environments, but spits a CreateProcess exception when running on Windows. I tried changing the 'jythonc' above into 'jythonc.bat', and it works. But this breaks the build on *nix. So how do I invoke jythonc in a way that will work on both windows and nix? Also, how do I state the physical file dependencies, to indicate (as per the above example) that i2psam.jar depends on i2psam.py, so that the build gets skipped if i2psam.jar is up to date? (I asked on #java, but got a facefull of rudeness and dogma; people there said to search for 'jython ant tasks', but all I get is mentions of people saying they intend to write tasks, but nothing available. I'm very new to ant, and would really appreciate the help Thanks in advance David |
From: Geoff G. <ge...@ge...> - 2004-04-12 18:25:48
|
Quoting David McNab (re...@or...): > Hi, > > I've converted a Makefile to an ant build.xml, in order to make it fit > in better with an otherwise 100%-java project. > > My question is - how do I invoke jythonc from ant? > [...] > > So how do I invoke jythonc in a way that will work on both windows and nix? <condition property="jythonext" value=".bat"> <os family="windows" /> </condition> <condition property="jythonext" value=""> <not> <os family="windows" /> </not> </condition> <target name="jythonc" depends="init,filecopy"> <delete file="${jarfile}"/> <exec executable="jythonc${jythonext}" dir="${pbuild}"> <arg value="-a"/> <arg value="-j"/> <arg value="${jarfile}"/> <arg value="${main_python}"/> </exec> </target> > Also, how do I state the physical file dependencies, to indicate (as per > the above example) that i2psam.jar depends on i2psam.py, so that the > build gets skipped if i2psam.jar is up to date? Not sure, I build everything, all the time. If you figure it out let me know. Thanks, --G. -- Geoff Gerrietts "He was a great patriot, a humanitarian, a loyal friend; <ge...@ge...> providing, of course, he really is dead." http://www.gerrietts.net/ --Voltaire |
From: David M. <re...@or...> - 2004-04-13 01:13:31
|
Geoff Gerrietts wrote: >>So how do I invoke jythonc in a way that will work on both windows and nix? > > <condition property="jythonext" value=".bat"> > <os family="windows" /> > </condition> > <condition property="jythonext" value=""> > <not> > <os family="windows" /> > </not> > </condition> > > <target name="jythonc" depends="init,filecopy"> > <delete file="${jarfile}"/> > <exec > executable="jythonc${jythonext}" ... You're a life-saver Thanks a million! :) Cheers David |