<project name="annotation-tools" default="all"
         xmlns:if="ant:if" xmlns:unless="ant:unless">

  <property file="${user.home}/.annotations-tools.properties" />
  <property file="build.properties" />

  <!-- default location of projects, has effect only if not previously set -->
  <property name="asmx" location="asmx"/>
  <property name="scene-lib" location="scene-lib"/>
  <property name="afu" location="annotation-file-utilities"/>

  <target name="prep" description="Create required directories/files">
    <!-- Ant's copy task does not retain file permissions,
         so use <exec executable="cp"> instead.
    <copy file="bin-devel/git.pre-commit" tofile="../.git/hooks/pre-commit" preservelastmodified="true" />
    -->
<!-- TODO
    <exec executable="cp">
      <arg value="-p"/>
      <arg value=".git.pre-commit"/>
      <arg value=".git/hooks/pre-commit"/>
    </exec>
-->
  </target>

  <target name="all" description="Compile, run Javadoc, and run tests"
      depends="prep,compile,javadoc,test"/>

  <target name="compile" description="Compile all annotation tools"
      depends="compile-all"/>

  <target name="test" description="Test all the tools"
      depends="test-all"/>

  <target name="clean" depends="clean-all"/>

  <target name="compile-asmx">
      <ant dir="${asmx}" target="compile">
	  <property name="product.noshrink" value="true"/>
      </ant>
  </target>

  <!-- TODO: Get this working -->
  <!-- Known to fail -->
  <target name="test-asmx">
      <ant dir="${asmx}" target="test"/>
  </target>

  <target name="compile-scene-lib">
      <ant dir="${scene-lib}" target="bin"/>
  </target>

  <target name="javadoc-scene-lib">
      <ant dir="${scene-lib}" target="javadoc"/>
  </target>

  <target name="test-scene-lib">
      <ant dir="${scene-lib}" target="test"/>
  </target>

  <target name="compile-afu">
      <ant dir="${afu}" target="jarfile"/>
  </target>

  <target name="javadoc-afu">
      <ant dir="${afu}" target="javadoc"/>
  </target>

  <target name="test-afu">
      <ant dir="${afu}" target="run-tests"/>
  </target>

  <target name="compile-all"
	 depends="compile-asmx,compile-scene-lib,compile-afu"/>
  <!-- TODO: Add asmx tests when they work -->
  <target name="test-all"
	 depends="test-scene-lib,test-afu"/>
  <target name="clean-all">
    <ant dir="${asmx}" target="clean"/>
    <ant dir="${scene-lib}" target="clean"/>
    <ant dir="${afu}" target="clean"/>
  </target>

  <target name="javadoc" depends="javadoc-scene-lib,javadoc-afu">
  </target>

  <target name="tags-scene-lib">
      <ant dir="${scene-lib}" target="tags"/>
  </target>

  <target name="tags-afu">
      <ant dir="${afu}" target="tags"/>
  </target>

  <target name="tags" depends="tags-scene-lib,tags-afu">
    <exec executable="etags" failonerror="true">
      <arg value="-i"/>
      <arg value="${scene-lib}/TAGS"/>
      <arg value="-i"/>
      <arg value="${afu}/TAGS"/>
    </exec>
  </target>

  <target name="html-validate"
	  description="Validate that HTML files are well-formed; only works with JDK 8"
	  depends="prep">
    <exec executable="html5validator">
      <arg value="--ignore"/>
      <arg value="/api/"/>
      <arg value="/build/"/>
      <arg value="/javadoc/"/>
      <arg value="/annotation-file-utilities/annotation-file-format.html"/>
      <arg value="/scene-lib/javadoc/"/>
    </exec>
  </target>

  <property name="style.args1" value="-r -n -e"/>
  <property name="style.args2" value="--exclude-dir=.git --exclude-dir=api --exclude-dir=asmx --exclude-dir=javadoc --exclude='*.aux' --exclude='*.class' --exclude='*.dvi' --exclude='*.eps' --exclude='*.jaif' --exclude='*.jar' --exclude='*.jtr' --exclude='*.log' --exclude='*.patch' --exclude='*.pdf' --exclude='*.png' --exclude='*.sty' --exclude='*.zip' --exclude='*~' --exclude='CFLogo.ai' --exclude='logfile.log.rec.index' --exclude='annotation-file-format.html' ."/>

  <target name="check-style"
	  description="Check basic style guidelines"
	  depends="prep">
    <!-- There should be a way to templatize the following. -->
    <exec executable="grep" outputproperty="trailingwhitespace" failonerror="false">
      <arg line="${style.args1}"/>
      <arg value=" $"/>
      <arg line="${style.args2}"/>
    </exec>
    <fail message="Trailing whitespace:${line.separator}${trailingwhitespace}">
      <condition>
	<not>
	  <equals arg1="${trailingwhitespace}" arg2=""/>
	</not>
      </condition>
    </fail>
    <exec executable="grep" outputproperty="missingspace" failonerror="false">
      <arg line="${style.args1}"/>
      <arg value="[^\\]\b\(else\|finally\|try\){\|}\(catch\|else\|finally\)\b\|){\($\|[^0-9]\)\|\b\(catch\|for\|if\|while\)("/>
      <arg line="${style.args2}"/>
      <arg line="--exclude=build.xml"/>
    </exec>
    <fail message="Missing space:${line.separator}${missingspace}">
      <condition>
	<not>
	  <equals arg1="${missingspace}" arg2=""/>
	</not>
      </condition>
    </fail>
  </target>

  <fileset id="formatted.java.files" dir="." includes="**/*.java" excludes="**/asmx/"/>

  <condition property="isMac">
    <os family="mac" />
  </condition>

  <!-- Avoids "Argument list too long" message.  You can also set
       this property in file local.properties. -->
  <condition property="maxparallel" value="1000" else="-1">
    <isset property="isMac"/>
  </condition>

  <target name="-run-google-java-format.check">
    <condition property="run-google-java-format.exists">
      <available file=".run-google-java-format" type="dir"/>
    </condition>
  </target>

  <target name="-get-run-google-java-format"
          description="Obtain the run-google-java-format project"
          depends="-run-google-java-format.check"
          unless="run-google-java-format.exists">
    <exec executable="git"
          dir=".">
      <arg value="clone"/>
      <arg value="-q"/>
      <arg value="https://github.com/plume-lib/run-google-java-format.git"/>
      <arg value=".run-google-java-format"/>
    </exec>
  </target>

  <target name="-update-run-google-java-format"
          description="Update the run-google-java-format project"
          depends="-get-run-google-java-format">
    <exec executable="git"
          dir=".run-google-java-format">
      <arg value="pull"/>
      <arg value="-q"/>
    </exec>
  </target>

<!-- TEMPORARY: Do not run this until branches have been merged. -->
  <target name="reformat" depends="-update-run-google-java-format"
          description="Reformat Java code">
    <apply executable="python" parallel="true" maxparallel="${maxparallel}" failonerror="true">
      <arg value="./.run-google-java-format/run-google-java-format.py"/>
      <fileset refid="formatted.java.files"/>
    </apply>
  </target>

  <target name="check-format" depends="-update-run-google-java-format"
          description="Check Java code formatting">
    <apply executable="python" parallel="true" maxparallel="${maxparallel}"
       failonerror="false" resultproperty="check.format.result"
       outputproperty="check.format.stdout" errorproperty="check.format.stderr">
      <arg value="./.run-google-java-format/check-google-java-format.py"/>
      <fileset refid="formatted.java.files"/>
    </apply>
    <echo unless:blank="${check.format.stdout}">${check.format.stdout}</echo>
    <echo unless:blank="${check.format.stderr}">${check.format.stderr}</echo>
    <echo unless:blank="${check.format.stderr}">Fix syntax errors, then re-run:  ant check-format</echo>
    <echo unless:blank="${check.format.stdout}" if:blank="${check.format.stderr}">Try running:  ant reformat</echo>
    <fail>
      <condition>
        <not>
          <equals arg1="0" arg2="${check.format.result}"/>
        </not>
      </condition>
    </fail>
  </target>

</project>
