When trying to use Ant-Contrib for loops today, I ran into the error below:
C:\Projects\…\ant\build.xml:200: Problem: failed to create task or type for
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.
To fix the error I had to update the Ant-Contrib taskdef resource path from using “antcontrib.properties” to use “antlib.xml” in my Ant build file.
- // Remove this line
- <taskdef resource="net/sf/antcontrib/antcontrib.properties>
- // And replace with this one
- <taskdef resource="net/sf/antcontrib/antlib.xml">
According to the Ant-Contrib manual (found in [Ant-Contrib install dir]/docs/manual/index.html) you need to use the “antcontrib.properties” file when you want Ant-Contrib to run with Ant Version 1.5. They even place a warning saying:
Keep in mind that some tasks will not be available to you , such as the <for> task
The confusing part is that on the project page they tell you to use the “antcontrib.properties” file.