<?xml version="1.0"?>

<project default="build" basedir=".">

  <taskdef name="mejavac"
           classname="org.dribin.dave.ant.j2me.taskdefs.MeJavac"/>
  <taskdef name="preverify"
           classname="org.dribin.dave.ant.j2me.taskdefs.Preverify"/>
  <taskdef name="jartoprc"
           classname="org.dribin.dave.ant.j2me.taskdefs.JarToPrc"/>

  <!-- set global properties for this build -->
  <property file="build.properties" />
  <property name="src" value="src" />
  <property name="build" value="build" />
  <property name="dist" value="dist" />

  <property name="src.java" value="${src}/java" />
  <property name="src.lib" value="${src}/lib" />
  <property name="build.java" value="${build}/${project.name}-unverified" />
  <property name="build.verified" value="${build}/${project.name}" />
  <property name="build.depcache"
            value="${build}/${project.name}-dependencies" />
  <property name="dist.jar"
            value="${dist}/${project.name}-${project.version}.jar" />
  <property name="dist.prc"
            value="${dist}/${project.name}-${project.version}.prc" />

  <path id="lib.path">
    <fileset dir="${src.lib}">
      <include name="*.jar" />
    </fileset>
  </path>

  <target name="prepare" if="project.name">
    <tstamp/>
    <mkdir dir="${build}" />
    <mkdir dir="${dist}" />
    <mkdir dir="${build.java}" />
    <mkdir dir="${build.verified}" />
  </target>

  <target name="build" depends="prepare" description="Builds all code.">
    <depend srcdir="${src.java}" destdir="${build.java}"
            cache="${build.depcache}" closure="yes" />
    <mejavac srcdir="${src.java}" destdir="${build.java}">
      <classpath refid="lib.path" />
    </mejavac>
    <preverify unverifieddir="${build.java}"
               verifieddir="${build.verified}" />
  </target>

  <target name="dist" depends="build" description="Packages up jar files.">
    <jar jarfile="${dist.jar}" basedir="${build.verified}" />
    <jartoprc jarfile="${dist.jar}" prcfile="${dist.prc}"
              mainclass="${project.prc.mainclass}" />
  </target>

  <target name="clean">
    <delete dir="${build}" />
    <delete dir="${dist}" />
  </target>

</project>

