<?xml version="1.0" encoding="UTF-8"?>

<project default="jar" name="commons-jelly-build-all" basedir=".">

  <property name="libdir" value="target/lib"/>

  <!-- 
    Documentation:
    
    call "clean jar" to build Jelly and each taglib from scratch,
    or "clean jar-<tagName>" if you want to build a particular
    taglib.
    If you don't call clean first, you can get a false positive;
    if the "depends" of a jar-* task is incomplete, the build might
    pull in an older jar.
    
    Also, will copy all built jars into each successive build, so
    it's possible for a tag to build successfully without declaring
    all its dependencies, if its dependencies happen to have been built
    first.  This is bad, but it keeps the script simple
    
    WRITTEN FOR SIMPLICITY, NOT ENFORCING STRICTNESS.
    
    when adding tags to the build, add them to the 
    "subant" and "subexec" target,
    add a jar-<tagName> target, and add that target as a dependency
    of the "jar" target. (Yes, that's a lot of places.)
  -->

  <!-- 
    target that can be used via antcall task
    to call a single target on all jelly build.xml scripts
  -->
  <target name="subant">
    <ant dir="." target="${sub.target}"/>
    <ant dir="jelly-tags/ant" target="${sub.target}"/>
    <ant dir="jelly-tags/antlr" target="${sub.target}"/>
    <ant dir="jelly-tags/avalon" target="${sub.target}"/>
    <ant dir="jelly-tags/bean" target="${sub.target}"/>
    <ant dir="jelly-tags/beanshell" target="${sub.target}"/>
    <ant dir="jelly-tags/betwixt" target="${sub.target}"/>
    <ant dir="jelly-tags/bsf" target="${sub.target}"/>
    <ant dir="jelly-tags/email" target="${sub.target}"/>
    <ant dir="jelly-tags/fmt" target="${sub.target}"/>
    <ant dir="jelly-tags/html" target="${sub.target}"/>
    <ant dir="jelly-tags/http" target="${sub.target}"/>
    <ant dir="jelly-tags/interaction" target="${sub.target}"/>
    <ant dir="jelly-tags/jetty" target="${sub.target}"/>
    <ant dir="jelly-tags/jms" target="${sub.target}"/>
    <ant dir="jelly-tags/jsl" target="${sub.target}"/>
    <ant dir="jelly-tags/junit" target="${sub.target}"/>
    <ant dir="jelly-tags/log" target="${sub.target}"/>
    <ant dir="jelly-tags/ojb" target="${sub.target}"/>
    <ant dir="jelly-tags/quartz" target="${sub.target}"/>
    <ant dir="jelly-tags/soap" target="${sub.target}"/>
    <ant dir="jelly-tags/sql" target="${sub.target}"/>
    <ant dir="jelly-tags/swing" target="${sub.target}"/>
    <ant dir="jelly-tags/swt" target="${sub.target}"/>
    <ant dir="jelly-tags/threads" target="${sub.target}"/>
    <ant dir="jelly-tags/util" target="${sub.target}"/>
    <ant dir="jelly-tags/validate" target="${sub.target}"/>
    <ant dir="jelly-tags/velocity" target="${sub.target}"/>
    <ant dir="jelly-tags/xml" target="${sub.target}"/>
    <ant dir="jelly-tags/xmlunit" target="${sub.target}"/>
  </target>
  
  <target name="subexec">
    <exec dir="." command="${sub.command}"/>
    <exec dir="jelly-tags/ant" command="${sub.command}"/>
    <exec dir="jelly-tags/antlr" command="${sub.command}"/>
    <exec dir="jelly-tags/avalon" command="${sub.command}"/>
    <exec dir="jelly-tags/bean" command="${sub.command}"/>
    <exec dir="jelly-tags/beanshell" command="${sub.command}"/>
    <exec dir="jelly-tags/betwixt" command="${sub.command}"/>
    <exec dir="jelly-tags/bsf" command="${sub.command}"/>
    <exec dir="jelly-tags/email" command="${sub.command}"/>
    <exec dir="jelly-tags/fmt" command="${sub.command}"/>
    <exec dir="jelly-tags/html" command="${sub.command}"/>
    <exec dir="jelly-tags/http" command="${sub.command}"/>
    <exec dir="jelly-tags/interaction" command="${sub.command}"/>
    <exec dir="jelly-tags/jetty" command="${sub.command}"/>
    <exec dir="jelly-tags/jms" command="${sub.command}"/>
    <exec dir="jelly-tags/jsl" command="${sub.command}"/>
    <exec dir="jelly-tags/junit" command="${sub.command}"/>
    <exec dir="jelly-tags/log" command="${sub.command}"/>
    <exec dir="jelly-tags/ojb" command="${sub.command}"/>
    <exec dir="jelly-tags/quartz" command="${sub.command}"/>
    <exec dir="jelly-tags/soap" command="${sub.command}"/>
    <exec dir="jelly-tags/sql" command="${sub.command}"/>
    <exec dir="jelly-tags/swing" command="${sub.command}"/>
    <exec dir="jelly-tags/swt" command="${sub.command}"/>
    <exec dir="jelly-tags/threads" command="${sub.command}"/>
    <exec dir="jelly-tags/util" command="${sub.command}"/>
    <exec dir="jelly-tags/validate" command="${sub.command}"/>
    <exec dir="jelly-tags/velocity" command="${sub.command}"/>
    <exec dir="jelly-tags/xml" command="${sub.command}"/>
    <exec dir="jelly-tags/xmlunit" command="${sub.command}"/>
  </target>
  
  <target name="clean">
    <antcall target="subant">
      <param name="sub.target" value="clean"/>
    </antcall>
  </target>
  
  <!-- 
    clean out all jelly-related builds without 
    deleting existing target/lib directories,
    not quite as safe as a clean build but much faster
    than reloading all the "target/lib" directories
  -->
  <target name="clean-skiplib">
    <delete>
      <fileset dir="." >
        <include name="**/target/**"/>
        <exclude name="**/target/lib/*"/>
      </fileset>
    </delete>
  </target>
  
  <target name="ant">
    <antcall target="subexec">
      <param name="sub.command" value="maven.bat ant"/>
    </antcall>
  </target>
  
  <!-- 
    putting jar-http last, because it currently fails
    putting jetty last, seems to have an undeclared
     dependency on a java extension "javax/net/SocketFactory"
  -->
  <target name="jar" 
    depends="jar-jelly,jar-ant,jar-antlr,jar-avalon,jar-bean,jar-beanshell,
             jar-betwixt,jar-bsf,jar-email,jar-fmt,
             jar-http,jar-interaction,jar-jms,jar-jsl,
             jar-junit,jar-log,jar-ojb,jar-quartz,jar-soap,jar-sql,
             jar-swing,jar-swt,jar-threads,jar-util,jar-validate,
             jar-velocity,jar-xml,jar-xmlunit,jar-html,jar-jetty"/>
    
  <target name="jar-jelly">
    <echo message="Building Jelly..."/>
    <ant dir="." target="jar"/>
  </target>
  
  <target name="jar-ant" depends="jar-jelly,jar-util,jar-junit">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="ant"/>
    </antcall>
  </target>

  <target name="jar-antlr" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="antlr"/>
    </antcall>
  </target>

  <target name="jar-avalon" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="avalon"/>
    </antcall>
  </target>
  
  <target name="jar-bean" depends="jar-jelly,jar-junit,jar-log">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="bean"/>
    </antcall>
  </target>

  <target name="jar-beanshell" depends="jar-jelly,jar-junit">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="beanshell"/>
    </antcall>
  </target>
  
  <target name="jar-betwixt" depends="jar-jelly,jar-junit,jar-log">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="betwixt"/>
    </antcall>
  </target>

  <target name="jar-bsf" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="bsf"/>
    </antcall>
  </target>

  <target name="jar-email" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="email"/>
    </antcall>
  </target>

  <target name="jar-fmt" depends="jar-jelly,jar-junit">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="fmt"/>
    </antcall>
  </target>

  <target name="jar-html" depends="jar-jelly,jar-xml">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="html"/>
    </antcall>
  </target>

  <target name="jar-http" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="http"/>
    </antcall>
  </target>

  <target name="jar-interaction" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="interaction"/>
    </antcall>
  </target>

  <target name="jar-jetty" depends="jar-jelly,jar-http">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="jetty"/>
    </antcall>
  </target>

  <target name="jar-jms" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="jms"/>
    </antcall>
  </target>

  <target name="jar-jsl" depends="jar-jelly,jar-xml,jar-ant,jar-log,jar-junit">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="jsl"/>
    </antcall>
  </target>
  
  <target name="jar-junit" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="junit"/>
    </antcall>
  </target>

  <target name="jar-log" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="log"/>
    </antcall>
  </target>
  
  <target name="jar-ojb" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="ojb"/>
    </antcall>
  </target>

  <target name="jar-quartz" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="quartz"/>
    </antcall>
  </target>

  <target name="jar-soap" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="soap"/>
    </antcall>
  </target>

  <target name="jar-sql" depends="jar-jelly,jar-junit">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="sql"/>
    </antcall>
  </target>

  <target name="jar-swing" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="swing"/>
    </antcall>
  </target>

  <target name="jar-swt" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="swt"/>
    </antcall>
  </target>

  <target name="jar-threads" depends="jar-jelly,jar-junit">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="threads"/>
    </antcall>
  </target>
  
  <target name="jar-util" depends="jar-jelly,jar-junit">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="util"/>
    </antcall>
  </target>

  <target name="jar-validate" depends="jar-jelly,jar-junit">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="validate"/>
    </antcall>
  </target>

  <target name="jar-velocity" depends="jar-jelly">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="velocity"/>
    </antcall>
  </target>
  
  <target name="jar-xml" depends="jar-jelly,jar-junit">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="xml"/>
    </antcall>
  </target>

  <target name="jar-xmlunit" depends="jar-jelly,jar-xml">
    <antcall target="taglib-template">
      <param name="sub.taglib" value="xmlunit"/>
    </antcall>
  </target>
  
  <!-- don't call directly, called inside jar-* tasks -->
  <target name="taglib-template">
    <echo message="Building &quot;${sub.taglib}&quot; taglib..."/>
    
    <!-- maven-generated ant scripts freak out when this
    directory is missing -->
    <mkdir dir="jelly-tags/${sub.taglib}/src/test"/>
    
    <antcall target="prepare-taglib-deps">
      <param name="sub.taglib" value="${sub.taglib}"/>
    </antcall>
    
    <!-- copy in other Jelly taglib dependencies -->
    <antcall target="get-ext-taglibs">
      <param name="sub.taglib" value="${sub.taglib}"/>
    </antcall>
    
    <antcall target="build-taglib">
      <param name="sub.taglib" value="${sub.taglib}"/>
    </antcall>
  </target>
  
  <!-- 
    don't call directly, called inside jar-* tasks 
    if you set the noget property, the jars will
    not be checked against the server
  -->
  <target name="prepare-taglib-deps">
    <ant dir="jelly-tags/${sub.taglib}" target="get-deps"/>
    
    <delete>
      <fileset dir="jelly-tags/${sub.taglib}/${libdir}" includes="commons-jelly-*"/>
    </delete>
    <copy todir="jelly-tags/${sub.taglib}/${libdir}">
      <fileset dir="target" includes="commons-jelly-*.jar"/>
    </copy>
  </target>
  
  <!-- don't call directly, called inside jar-* tasks -->
  <target name="get-ext-taglibs">
    <copy todir="jelly-tags/${sub.taglib}/${libdir}" flatten="true">
      <fileset dir="." includes="jelly-tags/*/target/commons-jelly-*.jar"/>
    </copy>
  </target>
  
  <!-- don't call directly, called inside jar-* tasks -->
  <target name="build-taglib">
    <ant dir="jelly-tags/${sub.taglib}" target="jar">
      <property name="noget" value="true"/>
    </ant>
  </target>
  
    
</project>
    