<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012 Oracle. 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:
    Oracle - initial API and implementation
 -->

<project name="JPT 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.jpt.doc.isv." if="eclipse.running">
		<help.buildHelpIndex manifest="${basedir}/plugin.xml" destination="${basedir}"/>
	</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="jptOptions.tmp.txt" />
		<copy file="jptOptions.txt" tofile="${optionsFile}" overwrite="true" />
		
		<condition property="argsListDelimiter" value=":">
			<os family="unix" />
		</condition>
		<condition property="argsListDelimiter" value=";">
			<os family="windows" />
		</condition>

		<replace file="${basedir}/${optionsFile}" token="@rt@" value="${bootclasspath}" />

		<antcall target="replaceJptCommonUtility" />
		<antcall target="replaceJptCommonCore" />
		<antcall target="replaceJptCommonUi" />
					
		<replaceregexp file="${basedir}/${optionsFile}" flags="g" match="(\r\n?|\n);" replace="${argsListDelimiter}" />

<!--
		<property name="commonCoreSourcepath" file="commonCoreSourcepath.txt" />
		<replace file="${basedir}/${optionsFile}" token="@commonCoreSourcepath@" value="${commonCoreSourcepath}" />
-->

		<!--scrub isv plugin directories of any preexisting doc content-->
		<delete dir="index-files"/>
		<delete dir="org"/>
		<delete dir="resources"/>

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

	<!-- common packages -->
	<target name="replaceJptCommonUtility" if="optionsFile">
		<replace 
			file="${basedir}/${optionsFile}" 
			propertyfile="${basedir}/jptCommonUtility.properties">

            <replacefilter
                token="@commonUtilitySourcepath@"
                property="common.utility.sourcepath"/>
            <replacefilter
                token="@commonUtilityPackages@"
                property="common.utility.packages"/>
		</replace>
		
		<echo message="common.utility.sourcepath = ${common.utility.sourcepath}" />
		<echo message="common.utility.packages = ${common.utility.packages}" />
	</target>

	<target name="replaceJptCommonCore" if="optionsFile">
		<replace 
			file="${basedir}/${optionsFile}" 
			propertyfile="${basedir}/jptCommonCore.properties">

            <replacefilter
                token="@commonCoreSourcepath@"
                property="common.core.sourcepath"/>
            <replacefilter
                token="@commonCoreClasspath@"
                property="common.core.classpath"/>
            <replacefilter
                token="@commonCorePackages@"
                property="common.core.packages"/>
		</replace>
		
		<echo message="common.core.sourcepath = ${common.core.sourcepath}" />
		<echo message="common.core.classpath = ${common.core.classpath}" />
		<echo message="common.core.packages = ${common.core.packages}" />
	</target>

	<target name="replaceJptCommonUi" if="optionsFile">
		<replace 
			file="${basedir}/${optionsFile}" 
			propertyfile="${basedir}/jptCommonUi.properties">

            <replacefilter
                token="@commonUiSourcepath@"
                property="common.ui.sourcepath"/>
            <replacefilter
                token="@commonUiClasspath@"
                property="common.ui.classpath"/>
            <replacefilter
                token="@commonUiPackages@"
                property="common.ui.packages"/>
		</replace>
		
		<echo message="common.ui.sourcepath = ${common.ui.sourcepath}" />
		<echo message="common.ui.classpath = ${common.ui.classpath}" />
		<echo message="common.ui.packages = ${common.ui.packages}" />
	</target>

	<target name="buildJptDoc" unless="jpt.index.present">
		<ant antfile="buildDoc.xml" dir="../org.eclipse.jpt.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>














