<?xml version="1.0"?>
<!--
  Copyright (c) 2011-2020 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 v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/legal/epl-v10.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="legal.date" value="2004-2019" />

  <property name="jdk.link" value="http://download.oracle.com/javase/1.5.0/docs/api" />
  <property name="emf.link" value="http://download.eclipse.org/modeling/emf/emf/javadoc/2.11" />
  <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.net4j.util.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.net4j.util.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.net4j.util.doc.warnings" />

    <javadoc locale="en"
             destdir="${javadoc.destdir}"
             encoding="UTF-8"
             classpathref="javadoc.classpath"
             additionalparam="-Xdoclint:missing"
             maxmemory="1024m"
             source="1.8"
             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) ${legal.date} 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 v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html&lt;/i>">

      <fileset dir="${plugins.dir}" defaultexcludes="yes">
				<include name="org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/*.java" />
				<include name="org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/actions/*.java" />
				<include name="org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/confirmation/*.java" />
				<include name="org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/container/*.java" />
				<include name="org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/dnd/*.java" />
				<include name="org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/handlers/*.java" />
				<include name="org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/prefs/*.java" />
				<include name="org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/proposals/*.java" />
				<include name="org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/security/*.java" />
				<include name="org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/views/*.java" />
				<include name="org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/cache/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/confirmation/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/delegate/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/event/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/factory/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/fsm/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/io/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/monitor/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/pref/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/trace/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/options/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/properties/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/ref/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/registry/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/security/*.java" />
				<include name="org.eclipse.net4j.util/src/org/eclipse/net4j/util/transaction/*.java" />
      </fileset>

			<group title="Net4j Utilities">
				<package name="org.eclipse.net4j.util" />
				<package name="org.eclipse.net4j.util.cache" />
				<package name="org.eclipse.net4j.util.collection" />
				<package name="org.eclipse.net4j.util.concurrent" />
				<package name="org.eclipse.net4j.util.confirmation" />
				<package name="org.eclipse.net4j.util.container" />
				<package name="org.eclipse.net4j.util.container.delegate" />
				<package name="org.eclipse.net4j.util.event" />
				<package name="org.eclipse.net4j.util.factory" />
				<package name="org.eclipse.net4j.util.fsm" />
				<package name="org.eclipse.net4j.util.io" />
				<package name="org.eclipse.net4j.util.lifecycle" />
				<package name="org.eclipse.net4j.util.om" />
				<package name="org.eclipse.net4j.util.om.log" />
				<package name="org.eclipse.net4j.util.om.monitor" />
				<package name="org.eclipse.net4j.util.om.pref" />
				<package name="org.eclipse.net4j.util.om.trace" />
				<package name="org.eclipse.net4j.util.options" />
				<package name="org.eclipse.net4j.util.properties" />
				<package name="org.eclipse.net4j.util.ref" />
				<package name="org.eclipse.net4j.util.registry" />
				<package name="org.eclipse.net4j.util.security" />
				<package name="org.eclipse.net4j.util.transaction" />
			</group>
			<group title="Net4j Utilities UI">
				<package name="org.eclipse.net4j.util.ui" />
				<package name="org.eclipse.net4j.util.ui.actions" />
				<package name="org.eclipse.net4j.util.ui.confirmation" />
				<package name="org.eclipse.net4j.util.ui.container" />
				<package name="org.eclipse.net4j.util.ui.dnd" />
				<package name="org.eclipse.net4j.util.ui.handlers" />
				<package name="org.eclipse.net4j.util.ui.prefs" />
				<package name="org.eclipse.net4j.util.ui.proposals" />
				<package name="org.eclipse.net4j.util.ui.security" />
				<package name="org.eclipse.net4j.util.ui.views" />
				<package name="org.eclipse.net4j.util.ui.widgets" />
			</group>

      <link href="${jdk.link}" />
      <link href="${emf.link}" />
      <link href="${platform.link}" offline="true" packagelistloc="${platform.api}" />

      <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.net4j.util.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.net4j.util/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.net4j.util.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.8"
             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.net4j.util.doc" />
        <param name="-externals" value="${jdk.link};${platform.link};${emf.link}" />

      </doclet>

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

			<package name="org.eclipse.net4j.util.doc" />
			<package name="org.eclipse.net4j.util.doc.online" />
			<package name="org.eclipse.net4j.util.doc.reference" />
			<package name="org.eclipse.net4j.util.doc.reference.api" />
			<package name="org.eclipse.net4j.util.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>
