<?xml version="1.0" encoding="utf-8" ?>
<project name="etch-example-example" basedir="." default="help">
    <description>Simple Example</description>
    <target name="help"><echo>Please select a target...</echo></target>
	
    <!-- TODO better computation of etch.home, etch.version -->
    <property environment="env" />
    
    <!-- compute ETCH_HOME -->
    <property name="build.ETCH_HOME" location="${basedir}/../../target/Installers/dist" />
    <condition property="etch.home" value="${env.ETCH_HOME}">
        <isset property="${env.ETCH_HOME}" />
    </condition>
    <condition property="etch.home" value="${build.ETCH_HOME}" >
        <not><isset property="etch.home" /></not>
    </condition>
    
    <!-- compute etch.version -->
    <condition property="etch.version" value="1.0.1" >
        <not><isset property="etch.version" /></not>
    </condition>

    <!-- Csharp Support -->
    <condition property="USE.dotnet">
        <and>
            <os family="windows" />
            <available file="${env.DOTNET_HOME}/msbuild.exe" />
        </and>
    </condition>
    <condition property="USE.mono">
        <and>
            <not><os family="windows" /></not>
            <available file="${env.MONO_HOME}/bin/mdtool" />
        </and>
    </condition>
    <condition property="BUILD.csharp">
        <or>
            <isset property="USE.dotnet" />
            <isset property="USE.mono" />
        </or>
    </condition>

    <!-- import etch task -->
    <taskdef
        name="etch"
        onerror="report"
        classname="etch.tools.ant.EtchCompileTask"
        classpath="${etch.home}/lib/etch-ant-plugin-${etch.version}.jar" />

    <!-- import dotnet task -->
    <condition property="ant.dotnet.jar" value="ant-dotnet-1.0.jar" >
        <not><isset property="ant.dotnet.jar" /></not>
    </condition>
    
    <taskdef 
        onerror="report"
        resource="org/apache/ant/dotnet/antlib.xml"
        classpath="${ant.dotnet.jar}" />

    <macrodef name="mdtool">
        <attribute name="dir"         default="." />
        <attribute name="failonerror" default="false" />
        <attribute name="project"     default="project.csproj" />
        <attribute name="target"      default="${build.target}" />
        <sequential>
            <exec executable="${env.MONO_HOME}/bin/mdtool" dir="@{dir}" failonerror="@{failonerror}" >
                <arg value="build" />
                <arg value="--buildfile:@{project}" />
            </exec>
        </sequential>
    </macrodef>
    
    <!-- set properties -->
    <property name="target"            location="${basedir}/target" />
    <property name="src"               location="${basedir}/src" />
    <property name="bin"               location="${target}/bin" />
    <property name="generated-sources" location="${target}/generated-sources" />
    <property name="classes"           location="${target}/classes" />
    <property name="test-results"      location="${target}/test-results" />

    <!-- initialize -->
    <target name="init" >
        <mkdir dir="${target}" />
        <mkdir dir="${bin}" />
        <mkdir dir="${generated-sources}" />
        <mkdir dir="${classes}" />
        <mkdir dir="${test-results}" />
    </target>
    
    <!-- build the server -->
    <target name="generate-sources" depends="init" >
		<!-- generate sources -->
        <mkdir dir="${generated-sources}/main/etch/java" />
        <etch home="${etch.home}" 
              file="${src}/main/etch/Example.etch"
              what="both"
              binding="java"
              output="${generated-sources}/main/etch/java"
              />
		
        <mkdir dir="${generated-sources}/main/etch/csharp" />
        <etch home="${etch.home}" 
              file="${src}/main/etch/Example.etch"
              what="both"
              binding="csharp"
              output="${generated-sources}/main/etch/csharp"
              />
    </target>
    
    <target name="build-java" depends="generate-sources" >
    	<!-- compile sources -->
        <mkdir dir="${classes}" />
        <javac target="1.5" destdir="${classes}">
            <src path="${generated-sources}/main/etch/java" />
            <src path="${src}/main/java" />
            <classpath>
                <pathelement location="${etch.home}/lib/etch-java-runtime-${etch.version}.jar" />
            </classpath>
        </javac>

        <!-- Create Jar -->
        <jar jarfile="${bin}/example.jar" >
            <manifest>
                <attribute name="Class-Path" value="etch-java-runtime-${etch.version}.jar" />
            </manifest>
            <fileset dir="${classes}">
                <include name="**/*" />
            </fileset>
        </jar>

        <!-- copy in dependencies -->
        <copy todir="${bin}">
            <fileset dir="${etch.home}/lib">
                <include name="etch-java-runtime-${etch.version}.jar" />
            </fileset>
        </copy>
    </target>

    <target name="build-csharp-with-mono" depends="generate-sources" if="USE.mono" >
        <mdtool dir="${src}/main/csharp/ExampleClientProj" project="ExampleClientProj.csproj" />
        <mdtool dir="${src}/main/csharp/ExampleListenerProj" project="ExampleListenerProj.csproj" />
    </target>
    
    <target name="build-csharp-with-dotnet" depends="generate-sources" if="USE.dotnet" >
        <msbuild buildfile="${src}/main/csharp/ExampleListenerProj/ExampleListenerProj.csproj">
            <property name="Configuration" value="${build.target}" />
        </msbuild>
        <msbuild buildfile="${src}/main/csharp/ExampleClientProj/ExampleClientProj.csproj">
            <property name="Configuration" value="${build.target}" />
        </msbuild>
        <copy todir="${bin}">
            <fileset dir="${src}/main/csharp/ExampleListenerProj/bin/${build.target}">
                <include name="*" />
            </fileset>
            <fileset dir="${src}/main/csharp/ExampleClientProj/bin/${build.target}">
                <include name="*" />
            </fileset>
        </copy>
    </target>
    
    <target name="build-csharp" depends="build-csharp-with-mono,build-csharp-with-dotnet" />
    
    <target name="build" depends="build-java,build-csharp" />
    
    <!-- run unit tests -->
    <target name="test" depends="build" >
        <echo>

Build Complete!

To run the example-test example, open two command-windows in this directory.

cmd-window-1:
  > cd target/bin
  > java -cp example.jar etch.examples.example.MainExampleListener 

cmd-window-2:
  > cd target/bin
  > java -cp example.jar etch.examples.example.MainExampleClient


        </echo>
    </target>

    <!-- build everything -->
    <target name="init-debug">
        <property name="build.target" value="Debug" />
    </target>
    <target name="init-release">
        <property name="build.target" value="Release" />
    </target>
    
    <target name="debug" depends="init-debug,test" />
    <target name="release" depends="init-release,test" />
        
    <!-- clean -->    
    <target name="clean">
        <delete dir="${target}" quiet="true" />
    </target>

</project>
