<project name="xsd2jibx" default="build" basedir="./" xmlns:x="antlib:org.apache.avalon.tools">
<x:home index="."/>
<import file="${magic.templates}/standard.xml"/> <import file="jibx-ant-task.xml"/>
<target name="jibx" depends="build"
description="compile the jibx bindings into the class files">
<jibx>
<classpath>
<path refid="jibx.classpath"/>
<pathelement location="target/classes"/>
</classpath>
<bindingfileset dir="target/classes/org/jibx/xsd2jibx">
<include name="xsd.jibx.xml"/>
<include name="jibx.jibx.xml"/>
</bindingfileset>
</jibx>
</target>
</project>My included "jibx-ant-task.xml" is as follows:
<project xmlns:x="antlib:org.apache.avalon.tools"> <x:property name="jibx-bind.path" key="jibx-bind" feature="path"/> <x:property name="xpp3.path" key="xpp3" feature="path"/> <x:property name="jibx-run.path" key="jibx-run" feature="path"/> <x:property name="bcel.path" key="bcel" feature="path"/>
<path id="jibx.classpath">
<fileset dir="${magic.cache}" includes="
${jibx-bind.path},
${jibx-run.path},
${xpp3.path},
${bcel.path}"/>
</path> <taskdef name="jibx" classname="org.jibx.binding.ant.CompileTask">
<classpath>
<path refid="jibx.classpath"/>
</classpath>
</taskdef>
</project>Is there a magic variable that I could use instead of "target/classes"? Should the xml files I use go in "src/main" (what about src/etc)? I tried create a JiBX magic plugin, but I got confused by the avalon-meta-tools example. Must a plugin be defined in the index.xml and a .plugin file? Which of those who should indicate what dependencies (jar's) are needed? Must a task have a listener (I assume no)? Where can you change the list of repositories to look for the jars?
Keep up the good work! I hope to use Magic as the build tool for xsd2jibx in the near future.
Cameron
Just add a <resource> definition to your index for the hbm2ddl jar, then you can use a property to access the repository location.
<x:property name="filepath" key="hbm2ddl" feature="path"/>
The property "filepath" now contains the location of the hbm2ddl jar file and you can use this to construct a <classpath> - for example:
<classpath> <pathelement path="${magic.cache}/${filepath}"/> </classpath>
You can also use <x:path> but I need to get the docs in place on that first of all. Basically you can use <x:path> to get a dependency chain as a proper ant path object that you can reference using refid. The following example get the build time path for the current project:
<x:path id="build.path" mode="BUILD"/>
Stephen.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
