Custom Ant Task to Throw BuildException if Specified Ant Property is Not Defined
This Ant task throws a BuildException if a specified Ant property is not defined. I use it like this:
<target name="generateXlnServerPropertyFile">
<checkDefinedAntProperty propertyName="classpath.delimiter"/>
<checkDefinedAntProperty propertyName="velocity.template.directory"/>
<checkDefinedAntProperty propertyName="xlnserver.property.file"/>
<generateXlnServerPropertyFile .../>
</target>
package org.wwre.ant.tasks;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
/**
* This class configures the XIS server for WIM use.
*
*/
public class CheckDefinedAntPropertyTask extends Task{
private String propertyName = null;
/**
* The method executing the task.
*
* @throws BuildException If srcdir or classname are null. This exception is also thrown
* if the variable cannot be found, The java file does not exist,
*/
public void execute() throws BuildException {
if (getPropertyName() == null) {
throw new BuildException("Please set the propertyName attribute.");
}
String propertyValue = getProject().getProperty(getPropertyName());
if (propertyValue == null) {
throw new BuildException("Please define property[" + getPropertyName() + "].");
}
}
/**
* @return Returns the propertyName.
*/
public String getPropertyName() {
return this.propertyName;
}
/**
* @param _propertyName The propertyName to set.
*/
public void setPropertyName(String _propertyName) {
this.propertyName = _propertyName;
}
}