tags:

views:

28

answers:

1

Is there a way to check the classpath for a jar before executing a taskdef

for example, i want to surround the following with a condition that checks if a jar that can has the class org.hibernate.tool.ant.HibernateToolTask before executing the taskdef

<taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask"  classpathref="hibernatetool-classpath" />
A: 

This should work:

<available 
      property="hibernatetoolok" 
      classname="org.hibernate.tool.ant.HibernateToolTask" 
      classpathref="hibernatetool-classpath" />

<target name="hibernatetool" if="hibernatetoolok">
  <taskdef 
    name="hibernatetool" 
    classname="org.hibernate.tool.ant.HibernateToolTask"  
    classpathref="hibernatetool-classpath" />
</target>

Then on any target where you use the hibernatetool task be sure to add depends="hibernatetool".

David