<?xml version="1.0" encoding="UTF-8"?>
<!--
     Copyright (c) 2010 IBM Corporation 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
     https://www.eclipse.org/legal/epl-2.0/
    
     Contributors:
         IBM Corporation - initial API and implementation
 -->

<project name="JSDT Doc ISV Build" default="all"  basedir="." >

	<target name="init">
		<available file="${basedir}/index" property="index.present"/>
	</target>

	<target name="all" depends="init" unless="index.present">
		<antcall target="convertSchemaToHtml" />
		<antcall target="generateJavadoc" />
		<antcall target="build.index" />
		<!--antcall target="createDocZip" /-->
	</target>

	<target name="build.index" description="Builds search index for the plug-in: org.eclipse.wst.jsdt.doc." if="eclipse.running">
		<help.buildHelpIndex manifest="${basedir}/plugin.xml" destination="${basedir}"/>
	</target>

	<target name="convertSchemaToHtml" if="eclipse.running">
		<property name="dest" value="reference/extension-points" />
        <record name="${basedir}/workspace/jsdtconvert.txt" action="start"/>

       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.chromium.debug.core/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.chromium.debug.js/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.chromium.debug.jsdtbridge/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.chromium.debug.ui/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.chromium.wip.eclipse/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.chromium.wipbackend.dev/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.chromium.wipbackend.protocol_1_0/plugin.xml" destination="${dest}" />

       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.core/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.debug.core/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.debug.rhino/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.debug.ui/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.manipulation/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.support.firefox/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.support.ie/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../bundles/org.eclipse.wst.jsdt.ui/plugin.xml" destination="${dest}" />

       <pde.convertSchemaToHTML manifest="../../nodejs/org.eclipse.wst.jsdt.js.bower/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../nodejs/org.eclipse.wst.jsdt.js.common/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../nodejs/org.eclipse.wst.jsdt.js.grunt/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../nodejs/org.eclipse.wst.jsdt.js.gulp/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../nodejs/org.eclipse.wst.jsdt.js.node/plugin.xml" destination="${dest}" />
       <pde.convertSchemaToHTML manifest="../../nodejs/org.eclipse.wst.jsdt.js.npm/plugin.xml" destination="${dest}" />

       <record name="${basedir}/workspace/jsdtconvert.txt" action="stop"/>
	</target>

	<target name="getJavadocPath">
		<available file="${java.home}/../bin/javadoc.exe" property="javadoc" value="${java.home}/../bin/javadoc.exe"/>
		<available file="${java.home}/../bin/javadoc" property="javadoc" value="${java.home}/../bin/javadoc" />
	</target>


	<target name="generateJavadoc" depends="getJavadocPath" if="javadoc">

        <property name="optionsFile" value="workspace/jsdtOptions.tmp.txt" />
		<copy file="jsdtOptions.txt" tofile="${optionsFile}" overwrite="true" />
		
		<condition property="argsListDelimiter" value=":">
			<os family="unix" />
		</condition>
		<condition property="argsListDelimiter" value=";">
			<os family="windows" />
		</condition>

		<replaceregexp file="${basedir}/${optionsFile}" flags="g" match="(\r\n?|\n);" replace="${argsListDelimiter}" />
		<replace file="${basedir}/${optionsFile}" token="@rt@" value="${bootclasspath}" />


		<!--scrub isv plugin directories of any preexisting API doc content-->
		<delete dir="reference/api"/>
		<mkdir dir="reference/api"/>

		<exec dir="." executable="${javadoc}" output="doc.bin.log">
			<arg line="@${basedir}/${optionsFile} -J-Xmx1000M" />
		</exec>
	</target>

	<target name="buildJdtDoc" unless="jdt.index.present">
		<ant antfile="buildDoc.xml" dir="../org.eclipse.jdt.doc.isv" />
	</target>

	<target name="createDocZip">
		<zip zipfile="${basedir}/doc.zip"
		basedir="${basedir}"
		includes="schema.css, book.css, notices.html, about.html, concepts/**, guide/**, tips/**, reference/**, tasks/**, whatsNew/**, images/**"
	/>
	</target>

</project>














