Java – ant filtering – fail if property not set

antjava

I've got a ant build.xml that uses the <copy> task to copy a variety of xml files. It uses filtering to merge in properties from a build.properties file. Each environment (dev, stage, prod) has a different build.properties that stores configuration for that environment.

Sometimes we add new properties to the Spring XML or other config files that requires updating the build.properties file.

I want ant to fail fast if there are properties missing from build.properties. That is, if any raw @...@ tokens make it into the generated files, I want the build to die so that the user knows they need to add one or more properties to their local build.properties.

Is this possible with the built in tasks? I couldn't find anything in the docs. I'm about to write a custom ant task, but maybe I can spare myself the effort.

Thanks

Best Answer

If you are looking for a specific property, you can just use the fail task with the unless attribute, e.g.:

<fail unless="my.property">Computer says no. You forgot to set 'my.property'!</fail>

Refer to the documentation for Ant's fail task for more detail.

Related Topic