<project name="quarks" default="all"
  xmlns:jacoco="antlib:org.jacoco.ant"
  >
    <description>
        Top-level build.xml for Quarks.
    </description>
	
  <property name="release.base" location="release-${ant.project.name}"/>

  <property name="quarks.version" value="0.4.0"/>

  <property name="report.dir" location="reports"/>
  <property name="target.dir" location="target"/>
  <property name="javadoc.dir" location="${target.dir}/docs/javadoc"/>
  <property name="release.dir" location="${release.base}"/>

  <target name="all" depends="init,suball,copy,docs"
    description="Build the code and Javadoc into target. Requires Java 8"
    />

  <target name="init" depends="setcommitversion">
    <mkdir dir="${target.dir}"/>
  </target>

  <target name="setcommitversion">
        <!-- Create the time stamp -->
    <tstamp/>

    <!-- Extract the git commit hash -->
    <exec executable="git" outputproperty="commithash">
       <arg value="rev-parse"/>
       <arg value="--short"/>
       <arg value="HEAD"/>
    </exec>
    <mkdir dir="${target.dir}"/>
    <echoproperties destfile="${target.dir}/version.txt">
       <propertyset>
          <propertyref name="quarks.version"/>
          <propertyref name="DSTAMP"/>
          <propertyref name="TSTAMP"/>
          <propertyref name="commithash"/>
       </propertyset>
    </echoproperties>
  </target>

  <target name="copy">
     <!-- copy README.md -->
     <copy todir="${target.dir}" file="README.md"/>
     <copy todir="${target.dir}" file="LICENSE"/>

     <!-- copy scripts -->
     <mkdir dir="${target.dir}/java8/scripts"/>
     <copy todir="${target.dir}/java8/scripts" includeEmptyDirs="no">
        <fileset dir="scripts"/>
     </copy>

     <!-- copy sample code -->
     <mkdir dir="${target.dir}/java8/samples/src"/>
     <copy todir="${target.dir}/java8/samples/src" includeEmptyDirs="no">
        <fileset dir="samples" includes="**/*.java" excludes="**/build.xml **/test/**"/>
     </copy>

  </target>

  <target name="suball">
     <subprojects target="all"/>
  </target>
  <target name="test"
     description="Run all JUnit tests. Requires Java 8"
     >
     <echo message="HINT: to include tests for some connectors do: ant -Dtest.base.pattern='**/*TestManual.java' test"/>
     <subprojects target="test"/>
  </target>
  <target name="clean">
     <subprojects target="clean"/>
    <delete dir="${report.dir}"/>
    <delete dir="${javadoc.dir}"/>
    <delete dir="${release.dir}"/>
    <delete dir="${target.dir}"/>
  </target>

  <macrodef name="subprojects">
      <attribute name="target"/>
      <sequential>		
        <ant dir="api/function" target="@{target}" useNativeBasedir="true"/>
        <ant dir="api/execution" target="@{target}" useNativeBasedir="true"/>
        <ant dir="api/window" target="@{target}" useNativeBasedir="true"/>
        <ant dir="api/oplet" target="@{target}" useNativeBasedir="true"/>
        <ant dir="api/graph" target="@{target}" useNativeBasedir="true"/>
        <ant dir="api/topology" target="@{target}" useNativeBasedir="true"/>
        <ant dir="spi/graph" target="@{target}" useNativeBasedir="true"/>
        <ant dir="spi/topology" target="@{target}" useNativeBasedir="true"/>
        <ant dir="runtime/etiao" target="@{target}" useNativeBasedir="true"/>
        <ant dir="runtime/jmxcontrol" target="@{target}" useNativeBasedir="true"/>
        <ant dir="runtime/jsoncontrol" target="@{target}" useNativeBasedir="true"/>
        <ant dir="utils/metrics" target="@{target}" useNativeBasedir="true"/>

        <ant dir="providers/direct" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/common" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/iot" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/serial" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/file" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/http" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/iotf" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/jdbc" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/kafka" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/mqtt" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/quarks.javax.websocket" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/javax.websocket-client" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/javax.websocket-server" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/wsclient" target="@{target}" useNativeBasedir="true"/>
        <ant dir="connectors/wsclient-javax.websocket" target="@{target}" useNativeBasedir="true"/>
        <ant dir="console/server" target="@{target}" useNativeBasedir="true" />
        <ant dir="console/servlets" target="@{target}" useNativeBasedir="true" />
        <ant dir="providers/development" target="@{target}" useNativeBasedir="true"/>
        <ant dir="analytics/math3" target="@{target}" useNativeBasedir="true"/>
        <ant dir="analytics/sensors" target="@{target}" useNativeBasedir="true"/>
        <ant dir="samples/utils" target="@{target}" useNativeBasedir="true"/>
        <ant dir="samples/apps" target="@{target}" useNativeBasedir="true" />
        <ant dir="samples/topology" target="@{target}" useNativeBasedir="true"/>
        <ant dir="samples/connectors" target="@{target}" useNativeBasedir="true"/>
        <ant dir="samples/console" target="@{target}" useNativeBasedir="true" />
        <ant dir="android/topology" target="@{target}" useNativeBasedir="true" />
        <ant dir="android/hardware" target="@{target}" useNativeBasedir="true" />
        <ant dir="test/svt" target="@{target}" useNativeBasedir="true" />
      </sequential>
  </macrodef>

  <target name="junit.report">
     <mkdir dir="${report.dir}/junit"/>
     <junitreport todir="${report.dir}">
        <fileset dir="${basedir}">
            <include name="**/unittests/*/TEST-*.xml"/>
        </fileset>
        <report format="frames" todir="${report.dir}/junit"/>
     </junitreport>
  </target>

  <target name="coverage.report" >
     <mkdir dir="${report.dir}/coverage"/>
   <jacoco:report>
    <executiondata>
       <fileset dir="${basedir}">
            <include name="**/unittests/*/jacoco*.exec"/>
       </fileset>
    </executiondata>
    <structure name="Quarks">

    <group name="Quarks API">
      <classfiles>
         <fileset dir="${target.dir}/java8/lib">
            <include name="quarks.api.*.jar"/>
         </fileset>
      </classfiles>
    <sourcefiles encoding="UTF-8">
        <fileset dir="${basedir}/api/function/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/api/execution/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/api/oplet/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/api/graph/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/api/topology/src/main/java" includes="**/*.java"/>
    </sourcefiles>
    </group>
    <group name="Quarks SPI">
      <classfiles>
         <fileset dir="${target.dir}/java8/lib">
            <include name="quarks.spi.*.jar"/>
         </fileset>
      </classfiles>
    <sourcefiles encoding="UTF-8">
        <fileset dir="${basedir}/spi/graph/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/spi/topology/src/main/java" includes="**/*.java"/>
    </sourcefiles>
    </group>
    <group name="Quarks Runtime">
      <classfiles>
         <fileset dir="${target.dir}/java8/lib">
            <include name="quarks.runtime.*.jar"/>
         </fileset>
      </classfiles>
    <sourcefiles encoding="UTF-8">
        <fileset dir="${basedir}/runtime/etiao/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/runtime/jmxcontrol/src/main/java" includes="**/*.java"/>
    </sourcefiles>
    </group>

    <group name="Quarks Utilities">
      <classfiles>
         <fileset dir="${target.dir}/java8/utils">
            <include name="**/quarks.utils.*.jar"/>
         </fileset>
      </classfiles>
    <sourcefiles encoding="UTF-8">
        <fileset dir="${basedir}/utils/metrics/src/main/java" includes="**/*.java"/>
    </sourcefiles>
    </group>
    <group name="Quarks Connectors">
      <classfiles>
         <fileset dir="${target.dir}/java8/connectors">
            <include name="**/quarks.connectors.*.jar"/>
         </fileset>
      </classfiles>
    <sourcefiles encoding="UTF-8">
        <fileset dir="${basedir}/connectors/common/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/connectors/file/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/connectors/iot/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/connectors/iotf/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/connectors/jdbc/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/connectors/kafka/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/connectors/mqtt/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/connectors/http/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/connectors/wsclient/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/connectors/wsclient-javax.websocket/src/main/java" includes="**/*.java"/>
    </sourcefiles>
    </group>

    <group name="Quarks Providers">
      <classfiles>
         <fileset dir="${target.dir}/java8/lib">
            <include name="quarks.providers.*.jar"/>
         </fileset>
      </classfiles>
    <sourcefiles encoding="UTF-8">
        <fileset dir="${basedir}/providers/direct/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/providers/development/src/main/java" includes="**/*.java"/>
    </sourcefiles>
    </group>

    <group name="Quarks Analytics">
      <classfiles>
         <fileset dir="${target.dir}/java8/analytics">
            <include name="**/quarks.analytics.*.jar"/>
         </fileset>
      </classfiles>
    <sourcefiles encoding="UTF-8">
        <fileset dir="${basedir}/analytics/math3/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/analytics/sensors/src/main/java" includes="**/*.java"/>
    </sourcefiles>
    </group>

    <group name="Quarks Console">
      <classfiles>
         <fileset dir="${target.dir}/java8/console">
            <include name="**/quarks.console.*.jar"/>
         </fileset>
      </classfiles>
    <sourcefiles encoding="UTF-8">
        <fileset dir="${basedir}/console/server/src/main/java" includes="**/*.java"/>
        <fileset dir="${basedir}/console/servlets/src/main/java" includes="**/*.java"/>
    </sourcefiles>
    </group>

    </structure>
    <html destdir="${report.dir}/coverage"/>
    </jacoco:report>
   </target>

  <target name="reports" depends="junit.report,coverage.report"
    description="Produce test and coverage reports under reports after executing the test target"
    />

  <target name="docs">
  <mkdir dir="${javadoc.dir}"/>
  <javadoc
      destdir="${javadoc.dir}"
      author="true"
      version="true"
      use="true"
      windowtitle="Quarks v${quarks.version}"
      additionalparam="-Xdoclint:none"
      Overview="quarks_overview.html"
      failonwarning="true"
      excludepackagenames="quarks.connectors.runtime,quarks.connectors.*.runtime,quarks.console.*,quarks.topology.spi.*,quarks.graph.spi.*"
      >
      <sourcepath>
         <dirset dir="${basedir}">
           <include name="*/*/src/main/java"/>
           <exclude name="android/**"/>
         </dirset>
      </sourcepath>
      <classpath>
        <fileset dir="ext">
           <include name="**/*.jar"/>
        </fileset>
        <fileset dir=".">
           <include name="console/*/ext/*/*.jar"/>
           <include name="connectors/*/ext/*.jar"/>
           <include name="analytics/*/ext/*/*.jar"/>
           <include name="utils/metrics/ext/*/*.jar"/>
        </fileset>
      </classpath>

       <doctitle>Quarks v${quarks.version}</doctitle>
       <footer><![CDATA[<a href="http://quarks-edge.github.io">quarks-edge community @ github.com</a>]]></footer>
       <bottom>Copyright IBM 2015,2016 - ${commithash}-${DSTAMP}-${TSTAMP}</bottom>
       <group title="Quarks API" packages="quarks.execution,quarks.function,quarks.topology,quarks.topology.*,quarks.execution.*"/>
       <group title="Quarks Providers" packages="quarks.providers.*"/>
       <group title="Quarks Connectors" packages="quarks.connectors.*"/>
       <group title="Quarks Samples" packages="quarks.samples.*"/>
       <group title="Quarks Analytics" packages="quarks.analytics.*"/>
       <group title="Quarks Utilities" packages="quarks.metrics,quarks.metrics.*"/>
       <group title="Quarks Low-Level API" packages="quarks.graph,quarks.graph.*,quarks.oplet,quarks.oplet.*,quarks.window"/>
       <group title="Quarks SPI" packages="quarks.*.spi.*"/>
     </javadoc>
  </target>

  <target name="release" depends="clean,setcommitversion,all,docs,create_release_bundle"/>
	
  <target name="create_release_bundle">
      <!-- Build Java7 and Android versions -->
      <ant dir="platform/java7" target="retro7" useNativeBasedir="true"/>
      <ant dir="platform/android" target="all" useNativeBasedir="true"/>

      <mkdir dir="${release.dir}" />
      <property name="releasefilename" value="${release.dir}/quarks-v${quarks.version}-${DSTAMP}-${TSTAMP}.tgz"/>
      <tar compression="gzip" longfile="gnu" destfile="${releasefilename}">
        <tarfileset dir="${target.dir}" prefix="quarks"
         excludes="**/*.sh"/>
        <tarfileset dir="${target.dir}" prefix="quarks"
         includes="**/*.sh" filemode="755"/>
      </tar>
      <checksum file="${releasefilename}"/>
      <checksum algorithm="sha1" file="${releasefilename}"/>
  </target>

</project>
