<?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.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" />
	<property name="skip.schemadoc" value="true" />

  <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.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.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.http.common/src/org/eclipse/net4j/http/common/*.java" />
				<include name="org.eclipse.net4j.http.server/src/org/eclipse/net4j/http/server/*.java" />
				<include name="org.eclipse.net4j.http/src/org/eclipse/net4j/http/*.java" />
				<include name="org.eclipse.net4j.jvm/src/org/eclipse/net4j/jvm/*.java" />
				<include name="org.eclipse.net4j.tcp/src/org/eclipse/net4j/tcp/*.java" />
				<include name="org.eclipse.net4j.tcp/src/org/eclipse/net4j/tcp/ssl/*.java" />
				<include name="org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/*.java" />
				<include name="org.eclipse.net4j.ws/src/org/eclipse/net4j/ws/*.java" />
				<include name="org.eclipse.net4j.ws/src/org/eclipse/net4j/ws/jetty/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/net4j/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/net4j/acceptor/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/net4j/buffer/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/net4j/channel/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/net4j/connector/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/net4j/protocol/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/net4j/signal/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/net4j/signal/confirmation/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/net4j/signal/heartbeat/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/net4j/signal/security/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/net4j/signal/wrapping/*.java" />
				<include name="org.eclipse.net4j/src/org/eclipse/spi/net4j/*.java" />
      </fileset>

			<group title="Net4j Signalling Platform">
				<package name="org.eclipse.net4j" />
				<package name="org.eclipse.net4j.acceptor" />
				<package name="org.eclipse.net4j.buffer" />
				<package name="org.eclipse.net4j.channel" />
				<package name="org.eclipse.net4j.connector" />
				<package name="org.eclipse.net4j.protocol" />
				<package name="org.eclipse.net4j.signal" />
				<package name="org.eclipse.net4j.signal.confirmation" />
				<package name="org.eclipse.net4j.signal.heartbeat" />
				<package name="org.eclipse.net4j.signal.security" />
				<package name="org.eclipse.net4j.signal.wrapping" />
				<package name="org.eclipse.spi.net4j" />
			</group>
			<group title="Net4j Signalling Platform HTTP">
				<package name="org.eclipse.net4j.http" />
			</group>
			<group title="Net4j Signalling Platform HTTP Common">
				<package name="org.eclipse.net4j.http.common" />
			</group>
			<group title="Net4j Signalling Platform HTTP Server">
				<package name="org.eclipse.net4j.http.server" />
			</group>
			<group title="Net4j Signalling Platform JVM">
				<package name="org.eclipse.net4j.jvm" />
			</group>
			<group title="Net4j Signalling Platform TCP">
				<package name="org.eclipse.net4j.ws" />
				<package name="org.eclipse.net4j.ws.jetty" />
			</group>
			<group title="Net4j Signalling Platform TCP">
				<package name="org.eclipse.net4j.tcp" />
				<package name="org.eclipse.net4j.tcp.ssl" />
			</group>
			<group title="Net4j Signalling Platform UI">
				<package name="org.eclipse.net4j.ui" />
			</group>

      <link href="${jdk.link}" />
      <link href="${emf.link}" />
      <link href="${platform.link}" offline="true" packagelistloc="${platform.api}" />
			<link href="MAKE-RELATIVE/org.eclipse.net4j.util.doc/javadoc" offline="true" packagelistloc="${plugins.dir}/org.eclipse.net4j.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.net4j.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>


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

      </doclet>

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

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