<?xml version="1.0" encoding="ISO-8859-1"?>
<project default="ld" name="groovy-sql">
    <target name="ld" description="try to load the driver">
        <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"/>
        <groovy>
            <classpath>
                <fileset dir="${basedir}"><include name="mysql-connector-java*.jar"/></fileset>
            </classpath>
            driverClassName = "com.mysql.jdbc.Driver"
            try {
              Class.forName(driverClassName)
            } catch (ClassNotFoundException e) {
              println("not found by Class.forName")
              try {
                Thread.currentThread().getContextClassLoader().loadClass(driverClassName);
              } catch (ClassNotFoundException e2) {
                println("not found by context class loader")
                // now lets try the classloader which loaded us
                try {
                    groovy.sql.Sql.class.getClassLoader().loadClass(driverClassName);
                } catch (ClassNotFoundException e3) { println("not found by Sql.class.getClassLoader") }
              }
            }

            println("current thread context classloader: " + Thread.currentThread().getContextClassLoader())
            loader = project.class.getClassLoader()
            println("project classloader : " + loader)
            loader = this.class.getClassLoader()
            while(loader != null) {
              try {
                  c = loader.findClass("com.mysql.jdbc.Driver")
                  println("found by " + loader.toString())
              } catch(Throwable t) {println("not found by " + loader.toString())}
              loader = loader.getParent()
            }
        </groovy>
    </target>
</project>
