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

<project name="Apache Cocoon Kernel Components" default="component">

  <!-- ========================================================================== -->

  <path id="classpath">
    <fileset dir="${basedir}/lib"     includes="**/*.jar"/>
    <fileset dir="${basedir}/sources" includes="**/*.jar"/>
    <fileset dir="${basedir}/build"   includes="**/*.jar"/>
  </path>

  <!-- =========================================================================== +
   | Compilation and archival tasks                                                |
   + ============================================================================ -->

  <target name="component.build" if="component.compilable">
    <mkdir dir="${component.target}"/>
    <javac
        classpathref="classpath"
        srcdir="${component.source}/src"
        destdir="${component.target}"
        debug="true">
      <include name="**/*.java"/>
    </javac>
    <jar
        destfile="${component.target}.jar"
        filesonly="true">
      <fileset dir="${component.target}">
        <include name="**/*.class"/>
        <exclude name="**/.*"/>
      </fileset>
      <fileset dir="${component.source}/src">
        <exclude name="**/.java"/>
        <exclude name="**/.html"/>
        <exclude name="**/.*"/>
      </fileset>
    </jar>

    <copy
        tofile="${component.deploy}/${component.name}/local.jar"
        file="${component.target}.jar"/>
  </target>

  <!-- ========================================================================== -->

  <target name="component.deploy">
    <mkdir dir="${component.deploy}/${component.name}"/>
    <copy todir="${component.deploy}/${component.name}">
      <fileset dir="${component.source}">
        <exclude name="src/**"/>
      </fileset>
    </copy>
  </target>

  <!-- ========================================================================== -->

  <target name="component">
    <echo message="Processing kernel component: &quot;${component.name}&quot;"/>
    <available file="${component.source}/src" property="component.compilable" type="dir"/>
    <antcall target="component.deploy"/>
    <antcall target="component.build"/>
  </target>

</project>
