<?xml version="1.0"?>

<project name="common" default="package">

    <!-- Static property definitions.  These will remain the same for any module or submodule. -->
    <property name="project.name" value="ki"/>

    <property name="root.base.dir" value="${basedir}"/>

    <!-- Allow override of default build properties from properties file. -->
    <property file="build.properties"/>
    <property file="${root.base.dir}/build.properties"/>
    <property file="${user.home}/.ki/build.properties"/>

    <!-- Environment variables (e.g. to pickup CATALINA_HOME for test deployment) -->
    <property environment="env"/>

    <!-- version of the product, see http://apr.apache.org/versioning.html for details on this convention -->
    <property name="version.major" value="1"/>
    <property name="version.minor" value="0"/>
    <property name="version.revision" value="0-SNAPSHOT"/>
    <property name="version" value="${version.major}.${version.minor}.${version.revision}"/>
    <property name="release.name" value="${project.name}-${version}"/>

    <!-- application-wide config files: (all other config files should be in a respective module or submodule) -->
    <property name="root.etc.dir" value="${root.base.dir}/etc"/>
    <property name="root.dist.dir" value="${root.base.dir}/build/${project.name}-${version}"/>

    <!-- All 3rd party libraries are in here: -->
    <property name="lib.dir" value="${root.base.dir}/lib"/>

    <!-- *RELATIVE* definitions.  These properties will reflect a directory structure relative to where the
         sbuild is being executed -->
    <property name="base.dir" value="."/>
    <property name="etc.dir" value="${base.dir}/etc"/>
    <property name="src.dir" value="${base.dir}/src"/>
    <property name="test.dir" value="${base.dir}/test"/>
    <property name="build.dir" value="${base.dir}/build"/>
    <property name="classes.dir" value="${build.dir}/classes"/>
    <property name="test.classes.dir" value="${build.dir}/test-classes"/>
    <property name="docs.dir" value="${build.dir}/docs"/>
    <property name="test.docs.dir" value="${docs.dir}/test-reports"/>
    <property name="api.dir" value="${docs.dir}/api"/>
    <property name="dist.dir" value="${root.dist.dir}"/>

    <!-- compile flags, can be overridden on the command line using the -D flag -->
    <property name="compile.debug" value="true"/>
    <property name="compile.deprecation" value="false"/>
    <property name="compile.optimize" value="false"/>

    <property name="deploy.dir" value="${env.CATALINA_HOME}/webapps"/>

    <path id="all.libs">
        <fileset dir="${lib.dir}">
            <include name="**/*.jar"/>
        </fileset>
        <pathelement location="${classes.dir}"/>
    </path>

    <path id="test.path">
        <path refid="all.libs"/>
        <fileset dir="${dist.dir}">
            <include name="**/*.jar"/>
        </fileset>
    </path>

    <!-- ===================================================================
      -  Clean all build files
      -  =================================================================== -->
    <target name="clean" description="Cleans the entire project">
        <delete file="${dist.jar}"/>
        <delete dir="${build.dir}"/>
    </target>

    <macrodef name="compileMacro">
        <attribute name="classpathref" default="compile.path"/>
        <attribute name="srcdir" default="${src.dir}"/>
        <attribute name="destdir" default="${classes.dir}"/>

        <sequential>
            <mkdir dir="@{destdir}"/>
            <mkdir dir="@{destdir}/META-INF"/>

            <!-- 'compile.path' is expected to be defined in the module build.xml file -->
            <javac destdir="@{destdir}"
                   debug="${compile.debug}"
                   deprecation="${compile.deprecation}"
                   optimize="${compile.optimize}"
                   failonerror="true"
                   srcdir="@{srcdir}"
                   classpathref="@{classpathref}">
                <!-- <compilerarg value="-Xlint:unchecked"/> -->
            </javac>
            <copy todir="@{destdir}" preservelastmodified="true">
                <fileset dir="@{srcdir}">
                    <include name="**/*"/>
                    <exclude name="**/*.java"/>
                    <exclude name="**/*.tld"/>
                </fileset>
            </copy>
            <copy todir="@{destdir}/META-INF" flatten="true" preservelastmodified="true">
                <fileset dir="@{srcdir}">
                    <include name="**/*.tld"/>
                </fileset>
            </copy>
        </sequential>
    </macrodef>

    <target name="compile.src" description="Compiles sources">
        <!-- defaults are fine: -->
        <compileMacro/>
    </target>

    <target name="compile.test" description="Compiles test sources only">
        <compileMacro classpathref="test.path" srcdir="${test.dir}" destdir="${test.classes.dir}"/>
    </target>

    <target name="compile" depends="compile.src, compile.test" description="Compiles all sources"/>

    <target name="jar.jdk15" depends="compile" description="Create module jar file">
        <jar jarfile="${dist.jar}">
            <fileset dir="${classes.dir}">
                <include name="**"/>
                <exclude name="META-INF/**"/>
            </fileset>
            <metainf dir="${classes.dir}/META-INF">
                <include name="**"/>
            </metainf>
            <manifest>
                <attribute name="Implementation-Title" value="${project.name}-${module.name}"/>
                <attribute name="Implementation-Version" value="${version}"/>
                <attribute name="${project.name}-Version" value="${version}"/>
                <!-- Allow use of this JAR as a Java agent -->
                <!-- <attribute name="Premain-Class" value="org.kiment.InstrumentationSavingAgent" /> -->
            </manifest>
        </jar>
    </target>

    <target name="jar.retroweaver" depends="jar.jdk15" description="Create module jar file for JDK 1.3 and 1.4">
        <taskdef name="retroweaver" classname="net.sourceforge.retroweaver.ant.RetroWeaverTask"
                 classpathref="all.libs"/>
        <mkdir dir="${dist.dir}/jdk13"/>
        <mkdir dir="${dist.dir}/jdk14"/>
        <retroweaver target="1.3" inputjar="${dist.jar}"
                     outputjar="${dist.dir}/jdk13/${project.name}-${module.name}-jdk13-${version}.jar"/>
        <retroweaver target="1.4" inputjar="${dist.jar}"
                     outputjar="${dist.dir}/jdk14/${project.name}-${module.name}-jdk14-${version}.jar"/>
    </target>

    <target name="jar" depends="jar.retroweaver"/>

    <target name="package" depends="jar"/>

</project>