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

		<antcall target="replaceJptCommonUtility" />
        <antcall target="replacePackageTokens">
            <param name="packageName" value="jpt.common.core" />
        </antcall>
        <antcall target="replacePackageTokens">
            <param name="packageName" value="jpt.common.ui" />
        </antcall>

		<replaceregexp file="${basedir}/${optionsFile}" flags="g" match=";" replace="${argsListDelimiter}" />
<!--
		<antcall target="replaceJptCommonCore" />
		<antcall target="replaceJptCommonUi" />
		
		<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>

	<!-- replacePackageTokens -->
	<target name="replacePackageTokens" if="optionsFile">
		<replace 
			file="${basedir}/${optionsFile}" 
			propertyfile="${basedir}/${packageName}.properties">

            <replacefilter
                token="@${packageName}.sourcepath@"
                property="${packageName}.sourcepath"/>
            <replacefilter
                token="@${packageName}.classpath@"
                property="${packageName}.classpath"/>
            <replacefilter
                token="@${packageName}.packages@"
                property="${packageName}.packages"/>
		</replace>

		<echo message="propertyfile = ${packageName}.properties" />
		<echo message="packageName = ${packageName}" />
	</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>














