<?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" />

  <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) -->
  <!-- ================================================================== -->

  <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>
