<?xml version="1.0"?>
<!--
  Copyright (c) 2014 Eike Stepper (Loehne, Germany) and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v2.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/legal/epl-v20.html

  Contributors:
    Eike Stepper - initial API and implementation
-->
<project name="JavaDoc" default="build">

	<!-- =========================================== -->
	<!-- THIS FILE HAS BEEN GENERATED, DO NOT CHANGE -->
	<!-- =========================================== -->

  <property file="${user.home}/org.eclipse.oomph.doc_1.0.properties" />

  <property name="jdk.link" value="http://download.oracle.com/javase/1.5.0/docs/api" />
  <property name="emf.link" value="https://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0" />
  <property name="platform.link" value="http://help.eclipse.org/topic//org.eclipse.platform.doc.isv/reference/api" />
  <property name="platform.api" location="${releng.project}/package-lists/platform" />

  <property name="project.path" value="${plugins.dir}/org.eclipse.oomph.targlets.doc" />
  <property file="${project.path}/plugin.properties" />
  <property file="${project.path}/build.properties" />
  <property name="javadoc.name" value="${pluginName}" />
  <property name="javadoc.destdir" value="${project.path}/javadoc" />
  <property name="schemadoc.destdir" value="${project.path}/schemadoc" />
  <property name="article.destdir" value="${project.path}/html" />
  <property name="article.sources" value="${project.path}/src" />

  <loadfile property="tp.classpath" srcfile="${tp.classpath.file}" />
  <path id="javadoc.classpath" path="${tp.classpath}">
    <fileset dir="${plugins.dir}">
      <exclude name="*/target/**/*.jar" />
      <include name="**/*.jar" />
    </fileset>
    <dirset dir="${plugins.dir}">
      <include name="*/bin" />
    </dirset>
    <fileset dir="${releng.project}">
      <include name="*.jar" />
      <include name="lib/*.jar" />
    </fileset>
    <dirset dir="${releng.project}">
      <include name="bin" />
    </dirset>
  </path>

  <fileset dir="${javadoc.destdir}" id="desthtml">
    <include name="**/*.html" />
  </fileset>

  <taskdef name="pde.convertSchemaToHTML"
           classname="org.eclipse.pde.internal.core.ant.ConvertSchemaToHTML"
           classpathref="javadoc.classpath"/>

  <target name="build.java" unless="skip.javadoc">
    <echo message="Building JavaDoc for org.eclipse.oomph.targlets.doc" />

    <delete includeemptydirs="true" failonerror="false">
      <fileset dir="${javadoc.destdir}" defaultexcludes="true">
        <include name="**/*" />
      </fileset>
    </delete>

    <copy todir="${helpcenter.project}/debug" verbose="true" failonerror="false" overwrite="true">
      <fileset dir="${releng.project}/html/debug" defaultexcludes="true">
        <include name="**/*" />
      </fileset>
    </copy>

    <property name="warningsfile"
              location="${helpcenter.project}/debug/org.eclipse.oomph.targlets.doc.warnings" />

    <javadoc locale="en"
             destdir="${javadoc.destdir}"
             encoding="UTF-8"
             classpathref="javadoc.classpath"
             maxmemory="1024m"
             source="1.5"
             useexternalfile="true"
             failonerror="true"
             docfilessubdirs="true"
             includenosourcepackages="true"
             author="true"
             version="true"
             use="true"
             notree="true"
             windowtitle="${javadoc.name}"
             doctitle="&lt;h1>${javadoc.name}&lt;/h1>"
             overview="${project.path}/overview.html"
             bottom="&lt;i class=&quot;copyright&quot;>Copyright (c) 2014 Eike Stepper (Loehne, Germany) and others.&lt;br>All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v2.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v20.html&lt;/i>">

      <fileset dir="${plugins.dir}" defaultexcludes="yes">
				<include name="org.eclipse.oomph.targlets.core/src/org/eclipse/oomph/targlets/core/*.java" />
				<include name="org.eclipse.oomph.targlets/src/org/eclipse/oomph/targlets/*.java" />
				<include name="org.eclipse.oomph.targlets/src/org/eclipse/oomph/targlets/impl/*.java" />
				<include name="org.eclipse.oomph.targlets/src/org/eclipse/oomph/targlets/util/*.java" />
      </fileset>

			<group title="Oomph Targlets">
				<package name="org.eclipse.oomph.targlets" />
				<package name="org.eclipse.oomph.targlets.impl" />
				<package name="org.eclipse.oomph.targlets.util" />
			</group>
			<group title="Oomph Targlets Core">
				<package name="org.eclipse.oomph.targlets.core" />
			</group>

      <link href="${jdk.link}" />
      <link href="${emf.link}" />
      <link href="${platform.link}" offline="true" packagelistloc="${platform.api}" />
			<link href="MAKE-RELATIVE/org.eclipse.oomph.p2.doc/javadoc" offline="true" packagelistloc="${plugins.dir}/org.eclipse.oomph.p2.doc/javadoc" />
			<link href="MAKE-RELATIVE/org.eclipse.oomph.util.doc/javadoc" offline="true" packagelistloc="${plugins.dir}/org.eclipse.oomph.util.doc/javadoc" />

      <tag name="ADDED" description="Added" />
      <tag name="Singleton" description="Singleton" />
      <tag name="generated" description="Generated" />
      <tag name="extends" description="Extends" />
      <tag name="model" description="Model" />
      <tag name="ordered" description="Ordered" />
      <tag name="category" description="Category" />
      <tag name="noimplement" description="No Implement" />
      <tag name="noextend" description="No Extend" />
      <tag name="noinstantiate" description="No Instantiate" />
      <tag name="noreference" description="No Reference" />
      <tag name="apiviz.exclude" description="Exclude from diagram" />
    </javadoc>

    <copy todir="${javadoc.destdir}/resources" verbose="true" failonerror="false" overwrite="true">
      <fileset dir="${project.path}/resources" defaultexcludes="true">
        <include name="**/*" />
        <exclude name="README.txt" />
      </fileset>
      <fileset dir="${releng.project}/resources" defaultexcludes="true">
        <include name="**/*" />
        <exclude name="README.txt" />
      </fileset>
    </copy>

    <!-- Copy javadoc.css -->
    <copy todir="${javadoc.destdir}" verbose="true" failonerror="false" overwrite="true">
      <fileset dir="${releng.project}/html" defaultexcludes="true">
        <include name="stylesheet.css" />
      </fileset>
    </copy>

    <!-- Remove generation dates that clutter the Git dirty states -->
    <replaceregexp match="&lt;!-- Generated by javadoc .*--&gt;" replace="">
      <fileset refid="desthtml" />
    </replaceregexp>
    <replaceregexp match="content=&quot;[^&quot;]+&quot;" replace="content=&quot;&quot;">
      <fileset refid="desthtml" />
    </replaceregexp>

    <java classname="org.eclipse.oomph.releng.doc.java.MakeHrefsRelative"
          dir="${basedir}"
          fork="true"
          failonerror="true"
          id="MakeHrefsRelative">
      <classpath path="${releng.project}/bin;${releng.project}/org.eclipse.oomph.releng.doc.jar" />
      <arg value="${javadoc.destdir}" />
    </java>
  </target>

  <target name="build.schema" unless="skip.schemadoc">
    <echo message="Building SchemaDoc for org.eclipse.oomph.targlets.doc" />

    <delete includeemptydirs="true" failonerror="false">
      <fileset dir="${schemadoc.destdir}" defaultexcludes="true">
        <include name="**/*" />
      </fileset>
    </delete>

    <mkdir dir="${schemadoc.destdir}" />
    <copy todir="${schemadoc.destdir}" failonerror="true" verbose="true">
      <fileset dir="${releng.project}/html">
        <include name="schema.css" />
      </fileset>
    </copy>

		<pde.convertSchemaToHTML destination="${schemadoc.destdir}" manifest="${plugins.dir}/org.eclipse.oomph.targlets.core/plugin.xml" />

    <replaceregexp match="\.\./\.\./(.*?)\.css" replace="\1.css" byline="true">
      <fileset dir="${schemadoc.destdir}">
        <include name="*.html" />
      </fileset>
    </replaceregexp>
  </target>

  <target name="build.article" unless="skip.articledoc">
    <echo message="Building Articles for org.eclipse.oomph.targlets.doc" />

    <tstamp>
      <format property="start.time" pattern="y-M-D-H-m-s-S" />
    </tstamp>

    <delete includeemptydirs="true" failonerror="false">
      <fileset dir="${article.destdir}" defaultexcludes="true">
        <include name="**/*" />
      </fileset>
    </delete>
    <mkdir dir="${article.destdir}" />

    <delete includeemptydirs="true" failonerror="false">
      <fileset dir="${project.path}/images" defaultexcludes="true">
        <include name="copies/**/*" />
      </fileset>
    </delete>

    <copy todir="${project.path}/images" verbose="true" failonerror="false">
      <fileset dir="${releng.project}/html/images" defaultexcludes="true">
        <include name="**/*" />
      </fileset>
    </copy>

    <copy todir="${project.path}/html" verbose="true" failonerror="false">
      <fileset dir="${releng.project}/html" defaultexcludes="true">
        <include name="book.css" />
        <include name="editor.css" />
        <include name="tree.css" />
      </fileset>
    </copy>

    <javadoc locale="en"
             encoding="UTF-8"
             classpathref="javadoc.classpath"
             maxmemory="1024m"
             source="1.5"
             useexternalfile="true"
             failonerror="true"
             private="true">

      <doclet name="org.eclipse.oomph.releng.doc.article.impl.ArticleDoclet"
                path="${releng.project}/bin;${releng.project}/org.eclipse.oomph.releng.doc.jar;${tp.classpath};${releng.project}/lib/dom4j-1.6.1.jar;${releng.project}/lib/poi-3.8-beta4-20110826.jar;${releng.project}/lib/poi-ooxml-3.8-beta4-20110826.jar;${releng.project}/lib/poi-ooxml-schemas-3.8-beta4-20110826.jar;${releng.project}/lib/xmlbeans-2.3.0.jar">
        <param name="-starttime" value="${start.time}" />
        <param name="-basefolder" value="${plugins.dir}/.." />
        <param name="-project" value="org.eclipse.oomph.targlets.doc" />
        <param name="-externals" value="${jdk.link};${platform.link};${emf.link}" />

      </doclet>

      <fileset dir="${plugins.dir}">
        <include name="org.eclipse.oomph.targlets.doc/src/**/*.java" />
				<include name="org.eclipse.oomph.p2.doc/src/**/*.java" />
				<include name="org.eclipse.oomph.util.doc/src/**/*.java" />
      </fileset>

			<package name="org.eclipse.oomph.targlets.doc" />
			<package name="org.eclipse.oomph.targlets.doc.guide" />
			<package name="org.eclipse.oomph.targlets.doc.online" />
			<package name="org.eclipse.oomph.targlets.doc.reference" />
			<package name="org.eclipse.oomph.targlets.doc.reference.api" />
			<package name="org.eclipse.oomph.targlets.doc.reference.schema" />
    </javadoc>
  </target>

  <target name="build" depends="build.java, build.schema, build.article">
    <fixcrlf srcdir="${project.path}" includes="**/*.html **/*.css" />
    <fixcrlf srcdir="${helpcenter.project}" includes="**/*.html **/*.css" />
  </target>

</project>
