<?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="http://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.p2.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.p2.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.p2.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.p2.core/src/org/eclipse/oomph/p2/core/*.java" />
				<include name="org.eclipse.oomph.p2/src/org/eclipse/oomph/p2/*.java" />
				<include name="org.eclipse.oomph.p2/src/org/eclipse/oomph/p2/impl/*.java" />
				<include name="org.eclipse.oomph.p2/src/org/eclipse/oomph/p2/util/*.java" />
      </fileset>

			<group title="Oomph P2 Management">
				<package name="org.eclipse.oomph.p2" />
				<package name="org.eclipse.oomph.p2.impl" />
				<package name="org.eclipse.oomph.p2.util" />
			</group>
			<group title="Oomph P2 Management Core">
				<package name="org.eclipse.oomph.p2.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.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.p2.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.p2.ui/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.p2.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.p2.doc" />
        <param name="-externals" value="${jdk.link};${platform.link};${emf.link}" />

      </doclet>

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

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