[jsword-devel] Ant + generated sources
Joe Walker
jsword-devel@crosswire.org
Wed, 23 Apr 2003 22:24:07 +0100
What I've done to build.xml is similar - there is a new generate task
that does all the generation. I've also moved the config compile into
the main compile.
Shout if I'm barking up the wrong tree.
Joe.
Mark Goodwin wrote:
> Hello.
>
> I've had a couple of problems building after CVS updates recently. The
> problems have all been to do with generated sources (OSIS / config
> stuff).
>
> The problems were simple to fix; a quick look at the ant script revealed
> that all I needed to do was an "ant veryclean" to nuke old generated
> files. I say 'all', because then, of course, I had to do an "ant all"
> which takes between a quarter of an hour and 20 minutes on my machine
> (yes, I should get a new one)..... which brings me to my question:
>
> Is there any reason why we shouldn't have something like a "source.gen"
> target that just does the necessary generation? E.g. an "ant xjc
> check.config" does this for me from a very clean tree (even though the
> current check.config fails in the javac task). This way to get working
> sources again from a major update (or new checkout) all that would be
> necessary would be "ant veryclean source.gen" (takes just under 40
> seconds on my machine using the suggestion below).
>
> All that would need doing is something like this:
>
> <target name="check.config" depends="config.gen">
> <!-- stuff in config.gen used to be at the start of this target -->
> <mkdir dir="${target.classes}/config"/>
> <javac debug="on" includes="**/*.java"
> destdir="${target.classes}/config">
> <src path="${gener.root}/config"/>
> <classpath>
> <dirset dir="${target.classes}"/>
> <fileset dir="${source.jar}" includes="**/*.jar"/>
> </classpath>
> </javac>
> </target>
>
>
> <!--=======================================================================-->
> <target name="config.gen">
> <!-- generate the config sources -->
> <mkdir dir="${gener.root}/config"/>
> <style
> in="${source.res}/config.xml"
> out="${gener.root}/config/ConfigTest.java"
> style="${source.etc}/config-test.xsl"/>
> </target>
>
>
> <!--=======================================================================-->
> <!-- generate sources -->
> <target name="source.gen" depends="xjc, config.gen" />
>
> What do you think?
>
> MarkG
>
> _______________________________________________
> jsword-devel mailing list
> jsword-devel@crosswire.org
> http://www.crosswire.org/mailman/listinfo/jsword-devel