<?xml version="1.0" encoding="utf-8" ?>
 <!--
 * Licensed to the Apache Software Foundation (ASF) under one   *
 * or more contributor license agreements.  See the NOTICE file *
 * distributed with this work for additional information        *
 * regarding copyright ownership.  The ASF licenses this file   *
 * to you under the Apache License, Version 2.0 (the            *
 * "License"); you may not use this file except in compliance   *
 * with the License.  You may obtain a copy of the License at   *
 *                                                              *
 *   http://www.apache.org/licenses/LICENSE-2.0                 *
 *                                                              *
 * Unless required by applicable law or agreed to in writing,   *
 * software distributed under the License is distributed on an  *
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
 * KIND, either express or implied.  See the License for the    *
 * specific language governing permissions and limitations      *
 * under the License.                                           *
 -->
<project name="etch.common" basedir="." >

    <!-- Static properties -->
    <property name="Etch.copyrightNotice" value="Copyright © Apache Software Foundation 2013" />

    <!-- Compute top of tree -->
    <condition property="Etch.basedir" value="${basedir}" >
        <not><isset property="Etch.basedir" /></not>
    </condition>
    <property name="Etch.runtime.workspace" value="${Etch.basedir}" />

    <!-- Load Environment -->
    <property environment="env" />
    <property file="${Etch.basedir}/build.dependencies" prefix="file" />
    <property file="${Etch.basedir}/build.properties" prefix="build" />

    <!-- Pull properties from commandline -->
    <condition property="build.skip.tests" value="${skip.tests}">
        <isset property="skip.tests" />
    </condition>

    <condition property="build.skip.examples" value="${skip.examples}">
        <isset property="skip.examples" />
    </condition>

    <condition property="build.javacc.home" value="${javacc.home}" >
        <isset property="javacc.home" />
    </condition>

    <condition property="build.junit.lib" value="${junit.lib}" >
        <isset property="junit.lib" />
    </condition>

    <condition property="build.velocity.lib" value="${velocity.lib}" >
        <isset property="velocity.lib" />
    </condition>

    <condition property="build.nsis.home" value="${nsis.home}" >
        <isset property="nsis.home" />
    </condition>

    <condition property="build.ant-dotnet.lib" value="${ant-dotnet.lib}" >
        <isset property="ant-dotnet.lib" />
    </condition>

    <condition property="build.ant-cmake.lib" value="${ant-cmake.lib}" >
        <isset property="ant-cmake.lib" />
    </condition>

    <property file="${Etch.basedir}/build.dependencies" prefix="build" />

    <!-- load runtime properties -->
    <property prefix="Etch.property."      file="${Etch.basedir}/etch.properties" />
    
    <!-- Compute version numbers -->
    <condition property="Etch.property.majorVersion" value="0">
        <not><isset property="Etch.property.majorVersion" /></not>
    </condition>
    <condition property="Etch.property.minorVersion" value="0" >
        <not><isset property="Etch.property.minorVersion" /></not>
    </condition>
    <condition property="Etch.property.patchVersion" value="0" >
        <not><isset property="Etch.property.patchVersion" /></not>
    </condition>
    <condition property="Etch.property.osVersion" value="unknown" >
        <not><isset property="Etch.property.osVersion" /></not>
    </condition>
    <condition property="Etch.property.platformVersion" value="unknown" >
        <not><isset property="Etch.property.platformVersion" /></not>
    </condition>
    <condition property="Etch.runtime.buildKey" value="LOCAL" >
        <not><isset property="Etch.runtime.buildKey" /></not>
    </condition>
    <condition property="Etch.runtime.buildNumber" value="0" >
        <not><isset property="Etch.runtime.buildNumber" /></not>
    </condition>
    <condition property="Etch.runtime.revisionNumber" value="0" >
        <not><isset property="Etch.runtime.revisionNumber" /></not>
    </condition>
    <condition property="Etch.property.suffix" value="" >
        <not><isset property="Etch.property.suffix" /></not>
    </condition>

    <property name="Etch.target"                location="${Etch.basedir}/target" />
    <property name="Etch.dist"                  location="${Etch.target}/Installers/dist" />
    <property name="Etch.clover-dist"           location="${Etch.target}/Installers/dist-clover" />
    <property name="Etch.support"               location="${Etch.target}/Support/dist" />
    <property name="Etch.clover-support"        location="${Etch.target}/Support/dist-clover" />

    <property name="Etch.version"               value="${Etch.property.majorVersion}.${Etch.property.minorVersion}.${Etch.property.patchVersion}" />
    <property name="Etch.longversion"           value="${Etch.version}${Etch.property.suffix}" />
    <property name="Etch.longname"              value="apache-etch-${Etch.longversion}" />
    <property name="Etch.shortversion"          value="${Etch.property.majorVersion}.${Etch.property.minorVersion}" />
    <property name="Etch.buildTag"              value="${Etch.runtime.buildKey}-${Etch.runtime.buildNumber}" />
    <property name="Etch.buildSupportDirectory" location="${Etch.basedir}/build-support" />
    <property name="Etch.logDirectory"          location="${Etch.target}/BuildLogs" />
    <property name="Etch.installerDirectory"    location="${Etch.target}/Installers" />

    <condition property="Etch.runtime.tests.fail" value="${Etch.target}\fail">
        <isset property="build.publish" />
    </condition>

    <!-- define artifacts -->
    <property name="etch-compiler.jar"            value="apache-etch-compiler-${Etch.longversion}.jar" />
    <property name="etch-compiler-src.zip"        value="apache-etch-compiler-${Etch.longversion}-src.zip" />
    <property name="etch-java-compiler.jar"       value="apache-etch-java-compiler-${Etch.longversion}.jar" />
    <property name="etch-java-compiler-src.zip"   value="apache-etch-java-compiler-${Etch.longversion}-src.zip" />
    <property name="etch-c-compiler.jar"          value="apache-etch-c-compiler-${Etch.longversion}.jar" />
    <property name="etch-c-compiler-src.zip"      value="apache-etch-c-compiler-${Etch.longversion}-src.zip" />
    <property name="etch-cpp-compiler.jar"        value="apache-etch-cpp-compiler-${Etch.longversion}.jar" />
    <property name="etch-cpp-compiler-src.zip"    value="apache-etch-cpp-compiler-${Etch.longversion}-src.zip" />
    <property name="etch-go-compiler.jar"         value="apache-etch-go-compiler-${Etch.longversion}.jar" />
    <property name="etch-go-compiler-src.zip"     value="apache-etch-go-compiler-${Etch.longversion}-src.zip" />
    <property name="etch-csharp-compiler.jar"     value="apache-etch-csharp-compiler-${Etch.longversion}.jar" />
    <property name="etch-csharp-compiler-src.zip" value="apache-etch-csharp-compiler-${Etch.longversion}-src.zip" />
    <property name="etch-xml-compiler.jar"        value="apache-etch-xml-compiler-${Etch.longversion}.jar" />
    <property name="etch-xml-compiler-src.zip"    value="apache-etch-xml-compiler-${Etch.longversion}-src.zip" />
    <property name="etch-util.jar"                value="apache-etch-util-${Etch.longversion}.jar" />
    <property name="etch-util-src.zip"            value="apache-etch-util-${Etch.longversion}-src.zip" />
    <property name="etch-ant-task.jar"            value="apache-etch-ant-plugin-${Etch.longversion}.jar" />
    <property name="etch-ant-task-src.zip"        value="apache-etch-ant-plugin-${Etch.longversion}-src.zip" />

    <!-- check if binding is available -->
    <condition property="is-binding-java-available" >
        <and>
            <available file="${Etch.dist}${file.separator}binding-java" />
            <available file="${Etch.dist}${file.separator}lib${file.separator}${etch-java-compiler.jar}" />
        </and>
    </condition>
    <condition property="is-binding-c-available" >
        <and>
            <available file="${Etch.dist}${file.separator}binding-c" />
            <available file="${Etch.dist}${file.separator}lib${file.separator}${etch-c-compiler.jar}" />
        </and>
    </condition>
    <condition property="is-binding-cpp-available" >
        <and>
            <available file="${Etch.dist}${file.separator}binding-cpp" />
            <available file="${Etch.dist}${file.separator}lib${file.separator}${etch-cpp-compiler.jar}" />
        </and>
    </condition>
    <condition property="is-binding-go-available" >
        <and>
            <available file="${Etch.dist}${file.separator}binding-go" />
            <available file="${Etch.dist}${file.separator}lib${file.separator}${etch-go-compiler.jar}" />
        </and>
    </condition>
    <condition property="is-binding-csharp-available" >
        <and>
            <available file="${Etch.dist}${file.separator}binding-csharp" />
            <available file="${Etch.dist}${file.separator}lib${file.separator}${etch-csharp-compiler.jar}" />
        </and>
    </condition>
    <condition property="is-binding-xml-available" >
        <and>
            <!--<available file="${Etch.dist}${file.separator}binding-csharp" />-->
            <available file="${Etch.dist}${file.separator}lib${file.separator}${etch-xml-compiler.jar}" />
        </and>
    </condition>
    <condition property="is-binding-python-available" >
        <and>
            <!--<available file="${Etch.dist}${file.separator}binding-python" />-->
            <available file="${Etch.dist}${file.separator}lib${file.separator}${etch-python-compiler.jar}" />
        </and>
    </condition>

    <!-- java-runtime -->
    <property name="etch-java-runtime.jar"        value="apache-etch-java-runtime-${Etch.longversion}.jar" />
    <property name="etch-java-runtime.zip"        value="apache-etch-java-runtime-${Etch.longversion}.zip" />
    <property name="etch-java-runtime-src.zip"    value="apache-etch-java-runtime-${Etch.longversion}-src.zip" />
    <!-- csharp-runtime -->
    <property name="etch-csharp-runtime.dll"      value="ApacheEtchCsharp.dll" />
    <property name="etch-csharp-runtime.pdb"      value="ApacheEtchCsharp.pdb" />
    <property name="etch-csharp-runtime.zip"      value="apache-etch-csharp-runtime-${Etch.longversion}.zip" />
    <property name="etch-csharp-runtime-src.zip"  value="apache-etch-csharp-runtime-${Etch.longversion}-src.zip" />
    <!-- c-runtime -->
    <property name="etch-c-runtime.dll"           value="etch.dll" />
    <property name="etch-c-runtime.pdb"           value="etch.pdb" />
    <property name="etch-c-runtime.zip"           value="apache-etch-c-runtime-${Etch.longversion}.zip" />
    <property name="etch-c-runtime-src.zip"       value="apache-etch-c-runtime-${Etch.longversion}-src.zip" />
    <!-- cpp-runtime -->
    <property name="etch-cpp-runtime.dll"         value="etch.dll" />
    <property name="etch-cpp-runtime.lib"         value="etch.lib" />
    <property name="etch-cpp-runtime.pdb"         value="etch.pdb" />
    <property name="etch-cpp-runtime.zip"         value="apache-etch-cpp-runtime-${Etch.longversion}.zip" />
    <property name="etch-cpp-runtime-src.zip"     value="apache-etch-cpp-runtime-${Etch.longversion}-src.zip" />

    <!-- Define filterset for build-time substitutions -->
    <filterset id="Etch.buildTokens" >
        <filter token="EtchVersion"               value="${Etch.version}" />
        <filter token="EtchLongVersion"           value="${Etch.longversion}" />
        <filter token="EtchLongName"              value="${Etch.longname}" />
        <filter token="EtchBuildTag"              value="${Etch.buildTag}" />
        <filter token="EtchRuntimeRevisionNumber" value="${Etch.runtime.revisionNumber}" />
        <filter token="EtchRuntimeBuildKey"       value="${Etch.runtime.buildKey}" />
        <filter token="EtchRuntimeBuildNumber"    value="${Etch.runtime.buildNumber}" />
        <filter token="EtchMajorVersion"          value="${Etch.property.majorVersion}" />
        <filter token="EtchMinorVersion"          value="${Etch.property.minorVersion}" />
        <filter token="EtchPatchVersion"          value="${Etch.property.patchVersion}" />
    </filterset>

    <!-- TODO: Migrate to .NET tasks for ANT -->
    <property name="tool.vs-2k5-task" value="${Etch.runtime.workspace}/scripts/vs-2k5-task.bat" />

    <!-- NSIS installer support -->
    <property name="tool.makensis"    value="${build.nsis.home}\makensis.exe" />
    <condition property="NSIS.enabled">
        <and>
            <os family="windows" />
            <available file="${tool.makensis}" />
        </and>
    </condition>
    
    <tempfile property="Etch.build.tmpdir" destdir="/tmp" />

    <property   name="Etch.dependency.javacc.home" value="${build.javacc.home}" />
    <property   name="Etch.dependency.junit.jar" location="${build.junit.lib}/junit-4.3.1.jar" />
    <property   name="Etch.dependency.velocity.jar" value="${build.velocity.lib}/velocity-1.7.jar" />
    <property   name="Etch.dependency.velocity-dep.jar" value="${build.velocity.lib}/velocity-1.7-dep.jar" />
    <property   name="Etch.dependency.ant-dotnet-1.1.jar" value="${build.ant-dotnet.lib}/ant-dotnet-1.1.jar" />
    <property   name="Etch.dependency.ant-cmake.jar" value="${build.ant-cmake.lib}/cmakeant.jar" />
    <property   name="Etch.dependency.ant-contrib.jar" value="${build.ant-contrib.lib}/ant-contrib-1.0b3.jar" />

    <!-- Csharp Support -->
    <condition property="USE.dotnet">
        <and>
            <os family="windows" />
            <available file="${env.DOTNET_HOME}/msbuild.exe" />
            <available file="${build.ant-dotnet.lib}/ant-dotnet-1.1.jar" />
            <available file="${env.NUNIT_HOME}/bin/net-2.0/nunit.exe" />
        </and>
    </condition>

    <condition property="USE.mono">
        <and>
            <not><os family="windows" /></not>
            <!-- TODO mono support is not fully baked, use -DUSE.mono to test -->
            <!-- <available file="${build.mono.home}/bin/mdtool" /> -->
            <isset property="USE.mono" />
        </and>
    </condition>
    <condition property="BUILD.csharp">
        <or>
            <isset property="USE.dotnet" />
            <isset property="USE.mono" />
        </or>
    </condition>
    <property name="tool.mdtool" value="${build.mono.home}/bin/mdtool" />

    <!-- CMake ANT Support -->
    <condition property="USE.cmake" value="true" >
        <available file="${Etch.dependency.ant-cmake.jar}" />
    </condition>

    <!-- clover support -->
    <!-- TODO: make this toggle-able -->
    <property name="With.clover" value="true" />
    <condition property="Clover.enabled" >
        <and>
            <available file="${build.clover.home}/lib/clover.jar" />
            <isset property="With.clover" />
        </and>
    </condition>
    <property name="Etch.dependency.clover.jar" value="${build.clover.home}/lib/clover.jar" />
    <taskdef resource="cloverlib.xml" classpath="${Etch.dependency.clover.jar}" />
    <!-- If Clover is enabled, use the clover version of the Etch build, this
         allows code-coverage metrics to be collected throughout the build process -->
    <condition property="Etch.HOME" value="${Etch.clover-dist}" >
        <istrue value="${Clover.enabled}" />
    </condition>
    <condition property="Etch.HOME" value="${Etch.dist}" >
        <not><isset property="Etch.HOME" /></not>
    </condition>
    <condition property="Etch.SUPPORT" value="${Etch.clover-support}" >
        <istrue value="${Clover.enabled}" />
    </condition>
    <condition property="Etch.SUPPORT" value="${Etch.support}" >
        <not><isset property="Etch.SUPPORT" /></not>
    </condition>
    <property name="Clover.path" location="${Etch.clover-dist}/clover" />
    <property name="Clover.db.path" location="${Clover.path}/db" />
    <property name="Clover.db" location="${Clover.db.path}/clover.master.db" />
    <property name="Clover.coverage" location="${Clover.path}/code-coverage-results" />
    
    <!-- properties for examples -->
    <property name="EXAMPLE.etch.home" value="${Etch.dist}" />
    <property name="EXAMPLE.etch.version" value="${Etch.version}" />
    <property name="EXAMPLE.etch.longversion" value="${Etch.longversion}" />
    <property name="EXAMPLE.ant.dotnet.jar" value="${Etch.dependency.ant-dotnet-1.1.jar}" />

    <!-- csharp ANT support -->
    <taskdef onerror="report" resource="org/apache/ant/dotnet/antlib.xml" classpath="${Etch.dependency.ant-dotnet-1.1.jar}" />

    <!-- CMake ANT support -->
    <taskdef onerror="report" name="cmake" classname="org.iainhull.ant.CmakeBuilder" classpath="${Etch.dependency.ant-cmake.jar}"/>

    <!-- Ant contrib support -->
    <taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${Etch.dependency.ant-contrib.jar}"/>

    <!-- dependencies -->
    <!-- TODO: remove clover reference if clover-disabled -->
    <path id="Etch.dependencies.jar.paths">
        <pathelement location="${Etch.dependency.velocity-dep.jar}" />
        <pathelement location="${Etch.dependency.junit.jar}" />
        <pathelement location="${Etch.dependency.clover.jar}" />
    </path>

    <!-- macros -->
    <macrodef name="build_component" >
        <attribute name="root"     default="." />
        <attribute name="dir"      />
        <attribute name="target"   default="${Etch.build.target}" />
        <attribute name="script"   default="build" />
        <attribute name="antfile"  default="@{script}.xml" />
        <attribute name="loglabel" default="@{dir}" />
        <attribute name="output"   default="${Etch.logDirectory}/@{loglabel}.@{target}.txt" />
        <element   name="componentAntElements" optional="true" implicit="true" />
        <sequential>
            <echo message="@{loglabel}.@{target}" />
            <ant dir="@{root}/@{dir}" antfile="@{antfile}" inheritAll="false" inheritRefs="false" output="@{output}" target="@{target}">
                <propertyset id="build-parameters">
                    <propertyref name="DO.maven.install" />
                    <propertyref name="build.tests.fail" />
                </propertyset>
                <componentAntElements />
            </ant>
        </sequential>
    </macrodef>
    
    <macrodef name="build_example" >
        <attribute name="root"     default="." />
        <attribute name="dir"      />
        <attribute name="script"   default="build" />
        <attribute name="antfile"  default="@{script}.xml" />
        <attribute name="loglabel" default="@{dir}" />
        <attribute name="logdir"   default="logs" />
        <attribute name="target"   default="${Etch.build.target}" />
        <attribute name="output"   default="@{logdir}/@{loglabel}.txt" />
        <element   name="componentAntElements" optional="true" implicit="true" />
        <sequential>
            <mkdir dir="@{logdir}" />
            <echo message="@{loglabel}" />
            <ant dir="@{root}/@{dir}" antfile="@{antfile}" inheritAll="false" inheritRefs="false" output="@{output}" target="@{target}">
                <propertyset id="examples-parameters">
                    <propertyref prefix="EXAMPLE" />
                    <mapper type="glob" from="EXAMPLE.*" to="*" />
                </propertyset>
                <componentAntElements />
            </ant>
        </sequential>
    </macrodef>    
    

    <!-- token filter macro -->
    <macrodef name="update-tokens" >
        <attribute name="filename" />
        <attribute name="template" default="@{filename}.tmpl" />
        <sequential>
            <!-- Generate version info -->
            <copy tofile="@{filename}" file="@{template}" overwrite="true">
                <filterset refid="Etch.buildTokens" />
            </copy>
        </sequential>
    </macrodef>

    <!-- NSIS macro -->
    <macrodef name="makensis">
        <attribute name="root"        default="." />
        <attribute name="dir"         default="." />
        <attribute name="target"      default="${Etch.build.target}" />
        <attribute name="script"      default="myscript" />
        <attribute name="loglabel"    default="@{script}" />
        <attribute name="destfile"    default="@{script}-setup.exe" />
        <attribute name="version"     default="${Etch.version}" />
        <attribute name="output"      default="${Etch.logsDirectory}/@{loglabel}.@{target}.txt" />
        <attribute name="failonerror" default="false" />
        <sequential>
            <exec executable="${tool.makensis}" dir="@{root}/@{dir}" failonerror="@{failonerror}" >
                <arg value="/V4" />
                <arg value="/DPRODUCT_VERSION=@{version}" />
                <arg value="/DOUT_FILE=@{destfile}" />
                <arg value="@{script}.nsi" />
            </exec>
        </sequential>
    </macrodef>
    
    <!-- Clover macro -->
    <macrodef name="initialize-clover" >
        <attribute name="enabled"     default="${Clover.enabled}" />
        <attribute name="suffix"      default="none" />
        <element   name="options"     implicit="true" /> 
        <sequential>
            <!-- TODO: do not make directories if clover is disabled -->
            <mkdir dir="${Clover.db.path}/@{suffix}" />
            <clover-setup 
                    initstring="${Clover.db.path}/@{suffix}/clover.db"
                    enabled="@{enabled}"
                    source="1.5"
                    flushpolicy="threaded"
                    flushinterval="90000" >
                <options />
            </clover-setup>
        </sequential>
    </macrodef>

    <!-- MONO mdtool macro -->
    <macrodef name="mdtool">
        <attribute name="dir"         default="." />
        <attribute name="failonerror" default="false" />
        <attribute name="project"     default="project.csproj" />
        <attribute name="target"      default="${Etch.build.target}" />
        <sequential>
            <exec executable="${tool.mdtool}" dir="@{dir}" failonerror="@{failonerror}" >
                <arg value="build" />
                <arg value="--buildfile:@{project}" />
            </exec>
        </sequential>
    </macrodef>

</project>
