<?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}/target/eclipserun-work/data/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}/target/eclipserun-work/data/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="target/eclipserun-work/data/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>














