ant: no se pudo crear la tarea o escribir

(Sí, he leído y jugado en base a respuestas a preguntas similares en este foro y en muchos otros, como JavaRanch, pero fue en vano).

He creado una tarea de hormiga personalizada según el documento de Apache.

Corriendo hormiga, me sale:

BUILD FAILED
/home/russ/blackpearl/fun/build.xml:121: Problem: failed to create task or type sqlscriptpreprocessor
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
at org.apache.tools.ant.UnknownElement.getNotFoundException(UnknownElement.java:487)
at org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:419)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)
at org.apache.tools.ant.Task.perform(Task.java:347)

Esto es conforme a un objetivo en mi build.xml archivo

<target name="mysql-preprocess"
        description="Preprocess MySQL database scripts into one file">
    <sqlscriptpreprocessor inputfilepath="${basedir}/extras/blackpearl.sql.in"
                          outputfilepath="${basedir}/extras/blackpearl.sql" />
</target>

Yo tengo ant-contrib-1.0b3.jar en la ruta * $ ANT_HOME / lib *. Yo tengo sqlscriptpreprocessor.jar en esa ruta, más el classpath local para mi compilación.

En un intento de exorcizar este problema, probé todas las combinaciones del siguiente conjunto de declaraciones, que recogí por todas partes a través de Google, lo que significa una de las <taskdef ant-contrib> con una de las < taskdef sqlscriptpreprocessor> construcciones, dos de las primeras con una de las últimas, una de las primeras con dos de las últimas, todas juntas, ninguna de ellas, etc.

<taskdef resource="net/sf/antcontrib/antlib.xml" />
<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
    <classpath>
        <pathelement location="/home/russ/dev/downloads/ant-contrib/ant-contrib-1.0b3.jar" />
    </classpath>
</taskdef>

<taskdef name="sqlscriptpreprocessor" classname="com.etretatlogiciels.ant.task.SqlScriptPreprocessor" />
<taskdef resource="${basedir}/lib/ant-tasks/SqlScriptPreprocessor.properties"
         classpath="${basedir}/lib/ant-tasks/sqlscriptpreprocessor.jar" />
<taskdef resource="${basedir}/lib/ant-tasks/SqlScriptPreprocessor.properties">
    <classpath>
        <pathelement location="${basedir}/lib/ant-tasks/sqlscriptpreprocessor.jar" />
    </classpath>
</taskdef>

Es frustrante que no sea tan fácil como dicen agregar tareas personalizadas a la hormiga.

Agradecería mucho todos y cada uno de los comentarios.

Gracias

Russ

Respuestas a la pregunta(2)

Su respuesta a la pregunta