Adding Antlib support is a great idea. I am all for including the
descriptor in 1.2 distro and updating the docs.
Andrus
On Apr 22, 2005, at 6:27 PM, Mike Kienenberger wrote:
> Thanks, Erik. I think the cdbgen task was just recently contributed
> by a
> user. I am just starting to use it myself.
>
> The best way to make the antlib enhancement happen is to open a Jira
> issue
> and optionally submit a patch.
>
> Otherwise, all of these little improvements tend to get lost.
>
> Dev-related mail like this generally gets greater exposure (or at
> least is
> easier to browse for in the archives) if you send it to
> cayenne-deve..bjectstyle.org.
>
> -Mike
>
>
> Erik Hatcher <eri..hatchersolutions.com> wrote:
>> Big thanks to the Cayenne team for building a very nice tool. I have
>> been using 1.2M3 and was wanting a way to create my database from Ant
>> directly from the model rather than from exporting a .sql file. I dug
>> around a little and found the <cdbgen> task that has been added - very
>> nice and exactly what I was looking for. Works great.
>>
>> One suggestion for making life easier in Ant with Cayenne is to take
>> advantage of the Antlib facility:
>>
>> http://ant.apache.org/manual/CoreTypes/antlib.html
>>
>> To show how this works, I integrated it into my builds. First I
>> created a cayenne-antlib.xml file like this:
>>
>> <antlib>
>> <taskdef name="cgen"
>> classname="org.objectstyle.cayenne.tools.CayenneGenerator"/>
>> <taskdef name="cdbgen"
>> classname="org.objectstyle.cayenne.tools.DbGeneratorTask"/> </antlib>
>>
>> I'm not using <cdeploy> yet, so I didn't add it.
>>
>> To pull in the Cayenne tasks into Ant in one shot, I do this:
>>
>> <project name="collex" default="default" xmlns:cayenne="cayenne">
>>
>> <typedef file="cayenne-antlib.xml" uri="cayenne">
>> <classpath>
>> <fileset refid="cayenne.jars"/>
>> </classpath>
>> </typedef>
>>
>> ...
>>
>> </project>
>>
>> I now use the tasks using <cayenne:cdbgen> and <cayenne:cgen>.
>>
>> Cayenne itself could embed an antlib.xml file like the above (with the
>> cdeploy added) inside the Cayenne JAR file, and then it could be
>> imported magically from the classpath using <typedef> as above, except
>> resource="org/objectstyle/cayenne/antlib.xml" instead of file="..."
>> (with antlib.xml living in the package org.objectstyle.cayenne). With
>> Antlib, the tasks could even be defined just on the Ant <project>
>> element using xmlns:cayenne="antlib:org.objectstyle.cayenne", but this
>> would require all the dependent JAR's be on the Ant classpath and not
>> quite friendly for Cayenne. But, Antlib in general is a great way to
>> work with Ant these days.. it'll hide your fully qualified class names
>> into a descriptor you control and will allow you to define new tasks
>> without requiring more copy/paste into build files to taskdef.
>>
>> I would like to see this in the final binary release of 1.2 if
>> possible. It's simple - embed a single XML file like the above in the
>> Cayenne JAR files, that's all.
>>
>> Erik
>>
>
This archive was generated by hypermail 2.0.0 : Sun Apr 24 2005 - 20:39:52 EDT