<?xml version="1.0" encoding="UTF-8"?>
<!-- 
   - A validator for all of the user-defined properties.  It will be called
   - from build.xml in the "init" task.
  -->
<project name="Configuration validator" default="validate">

    <!-- ================================================================== -->
    <!-- 
       - Ensure that "antlr.jar" is set.
      -->
    <target name="antlr.jar.validate" unless="antlr.jar">
        <fail>
        
    ********************************************************************
    ** The property "antlr.jar" was not set in the GlueGen properties **
    ** file                                                           **
    ** "${user.properties.file}"                  **
    ** (or this file was not found).                                  **
    **                                                                **
    ** Please set "antlr.jar" to to the full path of the ANTLR jar    **
    ** including the jar itself.                                      **
    ********************************************************************
        </fail>
    </target>

    <!-- 
       - Make sure that gluegen.jar is not on the CLASSPATH; this can cause
       - builds to fail since if this Java process has the jar file open
       - we can not overwrite it.
      -->
    <target name="java.class.path.validate">
        <available property="gluegen.jar.on.class.path" classname="com.sun.gluegen.GlueGen" />
        <fail if="gluegen.jar.on.class.path">
    *******************************************************************
    ** Your CLASSPATH environment variable appears to be set (some   **
    ** GlueGen classes are currently visible to the build.) This can **
    ** cause the build to fail. Please unset your CLASSPATH          **
    ** variable and restart the build.                               **
    *******************************************************************
        </fail>
    </target>

    <!-- ================================================================== -->
    <!-- 
       - Validate the required properties 
      -->
    <target name="validate" depends="antlr.jar.validate, java.class.path.validate" 
            description="Validate required properties" />

</project>
