<?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 JOAL 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>

    <!-- 
       - Ensure that "java.home.dir" is set.
       - NOTE:  "java.home" is an internal property for ANT that is not
       -        typically set to what the build needs it to be.
      -->
    <target name="java.home.dir.validate" unless="java.home.dir">
        <fail>

    *************************************************************
    ** The property "java.home.dir" was not set in the JOGL    **
    ** properties file                                         **
    ** "${user.properties.file}"               **
    ** (or this file was not found).                           **
    **                                                         **
    ** Please set "java.home.dir" to your JAVA_HOME directory. **
    *************************************************************
        </fail>
    </target>

    <!-- 
       - Make sure that jogl.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="test.for.jogl.jar">
        <available property="jogl.jar.on.class.path" classname="net.java.games.jogl.GL" />
    </target>
    <target name="java.class.path.validate" depends="test.for.jogl.jar" if="jogl.jar.on.class.path">
        <fail>
        
    ******************************************************************
    ** Your CLASSPATH environment variable appears to be set (some  **
    ** JOGL 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.home.dir.validate, java.class.path.validate" 
            description="Validate required properties" />

</project>