<?xml version="1.0" encoding="ISO-8859-1"?>

<project basedir="." default="jar" name="docgen"
    xmlns:ivy="antlib:org.apache.ivy.ant"
    xmlns:docgen="http://freemarker.org/docgen"
    xmlns:u="http://freemarker.org/ant-utils"
>

  <!-- ================================================================== -->
  <!-- Properties and filtering                                           -->
  <!-- ================================================================== -->

  <!-- Ivy project coordinates: -->
  <property name="moduleOrg" value="org.freemarker" />
  <property name="moduleName" value="docgen" />
  <property name="moduleBranch" value="2.0" />

  <!-- Will be overidden on the server: -->
  <property name="server.ivy.repo.root" value="${basedir}/build/dummy-server-ivy-repo" />

  <!-- Needed for travis-ci build -->
  <property name="ivy.install.version" value="2.4.0" />
  <condition property="ivy.home" value="${env.IVY_HOME}">
      <isset property="env.IVY_HOME" />
    </condition>
  <property name="ivy.home" value="${user.home}/.ant" />
  <property name="ivy.jar.dir" value="${ivy.home}/lib" />
  <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />

  <property file="build.properties" />

  <!-- When boot.classpath is missing, this is the default: -->
  <property name="boot.classpath" value="${sun.boot.class.path}" />
  <!-- Checking the correctness of the boot.classpath -->
  <available classpath="${boot.classpath}"
    classname="java.lang.Object" ignoresystemclasses="true"
    property="boot.classpath.correct"
  />

  <property file="src/main/org/freemarker/docgen/version.properties" />

  <tstamp>
    <format property="timestamp" pattern="yyyy-MM-dd HH:mm:ss z"
      timezone="GMT"
    />
  </tstamp>
  <filter token="version" value="${version}" />
  <filter token="buildTimestamp" value="${timestamp}" />

  <!-- ================================================================== -->
  <!-- Paths                                                              -->
  <!-- ================================================================== -->

  <!-- Classpath-es (dependencies) separately for each module -->

  <!-- Needed for purely technical resons... -->
  <path id="classpath.empty" />

  <!-- ================================================================== -->
  <!-- Task definitions                                                   -->
  <!-- ================================================================== -->

  <!--
    A customized and extended version of the standrad javac task.
    It copies non-java files (resources).
  -->
  <macrodef name="javacAndCopyResources" uri="http://freemarker.org/ant-utils">
    <attribute name="srcDir" />
    <attribute name="destDir" />
    <attribute name="classpath" default="" />
    <attribute name="classpathRef" default="classpath.empty" />
    <sequential>
      <fail unless="boot.classpath.correct"><!--
        -->The "boot.classpath" property value (${boot.classpath}) <!--
        -->seems to be an incorrect boot classpath. Please fix it in <!--
        -->the &lt;projectDir>/build.properties file, or wherever you <!--
        -->set it.<!--
      --></fail>
      <echo level="info">Using boot classpath: ${boot.classpath}</echo>

      <mkdir dir="@{destDir}" />

      <javac
        srcdir="@{srcDir}"
        destDir="@{destDir}"
        deprecation="on"
        debug="on"
        source="1.8"
        target="1.8"
        classpath="@{classpath}"
        classpathRef="@{classpathRef}"
        bootclasspath="${boot.classpath}"
      />

      <copy todir="@{destDir}" filtering="true" includeEmptyDirs="false">
        <fileset dir="@{srcDir}">
          <include name="**/*.properties" />
        </fileset>
      </copy>
      <copy todir="@{destDir}" filtering="false" includeEmptyDirs="false">
        <fileset dir="@{srcDir}">
          <exclude name="**/*.java" />
          <exclude name="**/package.html" />
          <exclude name="**/overview.html" />
          <exclude name="**/*.properties" />
        </fileset>
      </copy>
    </sequential>
  </macrodef>

  <!--
    A customized version of the standrad javadoc task.
  -->
  <macrodef name="javadoc" uri="http://freemarker.org/ant-utils">
    <attribute name="title" />
    <attribute name="srcDir" />  <!-- "main" usually -->
    <attribute name="packageNames" default="*" />
    <attribute name="excludePackages" default="non.such.package" />
    <attribute name="destDir" />
    <attribute name="classpath" default="" />
    <attribute name="classpathRef" default="classpath.empty" />
    <sequential>
      <echo level="info"><!--
        -->Javadoc generation for: @{title}<!--
      --></echo>

      <u:provideEmptyDir dir="@{destDir}" />
      <javadoc
        sourcepath="@{srcDir}"
        destdir="@{destDir}"
        doctitle="@{title}"
        packagenames="@{packageNames}"
        excludepackagenames="@{excludePackages}"
        windowtitle="@{title}"
        overview="@{srcDir}/overview.html"
        version="false"
        author="false"
        charset="UTF-8"
        docencoding="UTF-8"
        locale="en_US"
        use="yes"
        failonerror="yes"
        classpath="@{classpath}"
        classpathRef="@{classpathRef}"
      />
    </sequential>
  </macrodef>

  <macrodef name="provideEmptyDir" uri="http://freemarker.org/ant-utils">
    <attribute name="dir" />
    <sequential>
      <mkdir dir="@{dir}" />
      <delete includeEmptyDirs="true">
        <fileset dir="@{dir}" includes="**/*" defaultexcludes="no" />
      </delete>
    </sequential>
  </macrodef>


  <!-- ================================================================== -->
  <!-- Targets                                                            -->
  <!-- ================================================================== -->

  <target name="init">
    <condition property="deps.available">
      <and>
        <available file=".ivy" />
        <available file="node_modules" />
      </and>
    </condition>
    <antcall target="_autoget-deps" />
  </target>

  <target name="classes" depends="init, gulp"
    description='Compile + resource copy'
  >
    <u:provideEmptyDir dir="build/classes" />
    <ivy:cachepath pathid="ivy.dep" />
    <u:javacAndCopyResources
      srcDir="src/main"
      destDir="build/classes"
      classpathref="ivy.dep"
    />
  </target>

  <target name="jar" depends="classes"
      description='Build "build/docgen.jar".'
  >
    <mkdir dir="build/artifacts" />
    <jar jarfile="build/artifacts/docgen.jar">
      <fileset dir="build/classes" />
      <manifest>
        <attribute
          name="Main-Class"
          value="org.freemarker.docgen.TransformCommandLine"
        />
        <attribute
          name="Class-Path"
          value="freemarker.jar jing.jar"
        />
        <attribute name="Specification-Version" value="${version}" />
        <attribute name="Implementation-Version" value="${version}" />
      </manifest>
    </jar>

    <mkdir dir="build/lib" />
    <ivy:retrieve pattern="build/lib/[artifact].[ext]" />
    <copy file="build/artifacts/docgen.jar" todir="build/lib" />
  </target>

  <target name="javadoc" depends="init"
    description="Build the JavaDoc."
  >
    <ivy:cachepath pathid="ivy.dep" />
    <u:javadoc
      title="Docgen API"
      srcdir="src/main"
      destDir="build/api"
      classpathref="ivy.dep"
    />
  </target>

  <target name="all" depends="jar, javadoc"
    description='Build "docgen.jar" + javadocs'
  />

  <target name="clean" description='Delete output files.'>
    <u:provideEmptyDir dir="build" />
    <delete file="build/docgen.jar" />
  </target>

  <target name="test" depends="jar">
    <echo>***************************************</echo>
    <echo>* Now issue this in the command-line: *</echo>
    <echo>* ant -f test.xml           *</echo>
    <echo>***************************************</echo>
  </target>

  <target name="archive"
      description='Archives project into the "archive" directory.'>
    <mkdir dir="archive" />
    <tstamp>
      <format property="tstamp" pattern="yyyyMMdd-HHmm" />
    </tstamp>
    <delete file="archive/docgen-${tstamp}.tar" />
    <delete file="archive/docgen-${tstamp}.tar.bz2" />
    <tar tarfile="archive/docgen-${tstamp}.tar"
      basedir="."
      longfile="gnu"
      excludes="build/** .build/** **/*.class **/*.jar archive/** lib/**"
    />
    <bzip2 src="archive/docgen-${tstamp}.tar"
      zipfile="archive/docgen-${tstamp}.tar.bz2"
    />
    <delete file="archive/docgen-${tstamp}.tar" />
  </target>

  <target name="artifacts" depends="jar"
    description="Creates the artifacts for Ivy."
  />


  <!-- ================================================================== -->
  <!-- Dependency management (keep it exactly identical for all projects) -->
  <!-- ================================================================== -->

  <!-- Needed for travis-ci build -->
  <target name="download-ivy" unless="offline">

    <mkdir dir="${ivy.jar.dir}"/>
    <!-- download Ivy from web site so that it can be used even without
         any special installation -->
    <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar"
         dest="${ivy.jar.file}"
         usetimestamp="true"/>
  </target>


  <target name="_autoget-deps" unless="deps.available">
    <antcall target="update-deps" />
    <antcall target="node-deps" />
  </target>

  <target name="update-deps"
    description="Gets the latest version of the dependencies from the Web"
  >
    <echo>Getting dependencies...</echo>
    <echo>-------------------------------------------------------</echo>
    <ivy:settings id="remote" url="http://freemarker.org/repos/ivy/ivysettings-remote.xml" />
    <!-- Build an own repository that will serve us even offline: -->
    <ivy:retrieve settingsRef="remote" sync="true"
      ivypattern=".ivy.part/repo/[organisation]/[module]/ivy-[revision].xml"
      pattern=".ivy.part/repo/[organisation]/[module]/[artifact]-[revision].[ext]"
    />
    <echo>-------------------------------------------------------</echo>
    <echo>*** Successfully acquired dependencies from the Web ***</echo>
    <echo>Eclipse users: Now right-click on ivy.xml and Resolve! </echo>
    <echo>-------------------------------------------------------</echo>
    <!-- Only now that we got all the dependencies will we delete anything. -->
    <!-- Thus a net or repo outage doesn't left us without the dependencies. -->

    <!-- Save the resolution cache from the soon coming <delete>: -->
    <move todir=".ivy.part/update-deps-reso-cache">
      <fileset dir=".ivy/update-deps-reso-cache" />
    </move>
    <!-- Drop all the old stuff: -->
    <delete dir=".ivy" />
    <!-- And use the new stuff instead: -->
    <move todir=".ivy">
      <fileset dir=".ivy.part" />
    </move>
  </target>

  <!-- Do NOT call this from 'clean'; offline guys would stuck after that. -->
  <target name="clean-deps"
    description="Deletes all dependencies"
  >
    <delete dir=".ivy" />
    <delete dir="node_modules" />
  </target>

  <!-- See README.md about installing node.js and Gulp! -->
  <target name="node-deps">
    <exec executable="npm" dir="${basedir}" failonerror="true" osfamily="unix">
      <arg line="install" />
    </exec>
    <exec executable="cmd" dir="${basedir}" failonerror="true" osfamily="windows">
        <arg line="/c npm install" />
    </exec>
  </target>

  <target name="gulp">
    <exec executable="node" failonerror="true" dir="${basedir}">
      <arg line="node_modules/gulp/bin/gulp.js"/>
    </exec>

    <!--
    <exec executable="${nodeJsCommand}" failonerror="true" dir="${basedir}">
      <arg value="node_modules/gulp/bin/gulp.js"/>
    </exec>
  -->
  </target>

  <target name="publish-override" depends="artifacts"
    description="Ivy-publishes THIS project locally as an override"
  >
    <ivy:resolve />
    <ivy:publish
      pubrevision="${moduleBranch}-branch-head"
      overwrite="true" forcedeliver="true"
      resolver="freemarker-devel-local-override"
    >
      <artifacts pattern="build/artifacts/[artifact].[ext]" />
    </ivy:publish>
    <echo>-------------------------------------------------------</echo>
    <echo>*** Don't forget to `ant unpublish-override` later! ***</echo>
  </target>

  <target name="unpublish-override"
    description="Undoes publish-override (made in THIS project)"
  >
    <delete dir="${user.home}/.ivy2/freemarker-devel-local-override/${moduleOrg}/${moduleName}" />
    <delete dir="${user.home}/.ivy2/freemarker-devel-local-override-cache/${moduleOrg}/${moduleName}" />
  </target>

  <target name="unpublish-override-all"
    description="Undoes publish-override-s made in ALL projects"
  >
    <delete dir="${user.home}/.ivy2/freemarker-devel-local-override" />
    <delete dir="${user.home}/.ivy2/freemarker-devel-local-override-cache" />
  </target>

  <target name="uninstall"
    description="Deletes external files created by FreeMarker developement"
  >
    <delete dir="${user.home}/.ivy2/freemarker-devel-cache" />
    <delete dir="${user.home}/.ivy2/freemarker-devel-local-override" />
    <delete dir="${user.home}/.ivy2/freemarker-devel-local-override-cache " />
  </target>

  <target name="report-deps"
    description="Creates a HTML document that summarizes the dependencies."
  >
    <mkdir dir="build/deps-report" />
    <ivy:resolve />
    <ivy:report todir="build/deps-report" />
  </target>

  <target name="ide-dependencies" description="If your IDE has no Ivy support, this generates ide-lib/*.jar for it">
    <mkdir dir="ide-dependencies" />
    <delete includeEmptyDirs="true">
      <fileset dir="ide-dependencies">
         <include name="*/**" />
      </fileset>
    </delete>
    <ivy:retrieve pattern="ide-dependencies/[artifact]-[revision].[ext]" />
  </target>

  <!--
    This meant to be called on the Continuous Integration server, so the
    integration builds appear in the freemarker.org public Ivy repository.
    The artifacts must be already built.
  -->
  <target name="server-publish-last-build"
    description="(For the Continuous Integration server only)"
  >
    <delete dir="build/dummy-server-ivy-repo" />
    <ivy:resolve />
    <ivy:publish
      pubrevision="${moduleBranch}-branch-head"
      overwrite="true" forcedeliver="true"
      resolver="server-publishing-target"
    >
      <artifacts pattern="build/artifacts/[artifact].[ext]" />
    </ivy:publish>
  </target>

</project>
