<?xml version="1.0" encoding="UTF-8"?>
<!--
 * *******************************************************************************
 *  Copyright (c) 2013-2019 Robert Bosch GmbH and others.
 *  All rights reserved. This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License 2.0
 *  which accompanies this distribution, and is available at
 *  https://www.eclipse.org/legal/epl-2.0/
 *
 *  Contributors:
 *     Robert Bosch GmbH - initial implementation
 * *******************************************************************************
-->

<!-- =================================
		Documentation Project
		Generates the documentation
     ================================= -->

<project name="docuproject" default="generate-help">

	<description>
	   Generates the documentation
	</description>

	<!-- path to wikitext standalone package -->
	<property name="lib.folder" value="${basedir}/../../build_dependencies/docu-wikitext-lib"/>
	<property name="styles.folder" value="${basedir}/../../build_dependencies/docu-styles"/>
	<property name="docu.folder" value="${basedir}/docu"/>
	<property name="build.folder" value="${basedir}/build"/>
	<property name="target.folder.help" value="${basedir}/help"/>
	<property name="target.folder.toc" value="${basedir}/toc"/>
	<property name="index.file" value="${docu.folder}/_index.txt"/>
	<property name="dest.build.file" value="${build.folder}/documentation.textile"/>

	<path id="wikitext.classpath">
		<fileset dir="${lib.folder}">
			<include name="*.jar"/>
		</fileset>
	</path>

	<!-- - - - - - - - - - - - - - - - - -
      taskdefs
     - - - - - - - - - - - - - - - - - -->
	<taskdef classpathref="wikitext.classpath" resource="org/eclipse/mylyn/wikitext/core/ant/tasks.properties" />

	<!-- - - - - - - - - - - - - - - - - -
      target: init
     - - - - - - - - - - - - - - - - - -->
    <target name="init" depends="init-build">
    </target>

	<!-- - - - - - - - - - - - - - - - - -
          clean targets
     - - - - - - - - - - - - - - - - - -->
    <target name="init-build">
    	<delete dir="${build.folder}"/>
    	<mkdir dir="${build.folder}"/>
    </target>

	<!-- - - - - - - - - - - - - - - - - -
      assemble one file for processing
     - - - - - - - - - - - - - - - - - -->
	<target name="assemble">
		<loadfile srcfile="${index.file}" property="inputfiles">
			<filterchain>
				<tokenfilter>
					<replacestring from="\n" to=","/>
				</tokenfilter>
			</filterchain>
		</loadfile>
		<concat destfile="${dest.build.file}" append="false" fixlastline="yes">
			<filelist dir="${docu.folder}" files="${inputfiles}"/>
		</concat>
	</target>

	<!-- - - - - - - - - - - - - - - - - -
      generate targets
     - - - - - - - - - - - - - - - - - -->
	<target name="generate-help" description="Generate Eclipse help from textile source" depends="init-build">
		<copy todir="${build.folder}">
			<fileset dir="${docu.folder}" includes="**/*.textile" excludes="pdf-*.textile">
			</fileset>
		</copy>
		<wikitext-to-eclipse-help
			markupLanguage="Textile"
			multipleOutputFiles="true"
			navigationImages="true"
			helpPrefix="help"
			formatoutput="true">
			<fileset dir="${build.folder}">
    				<include name="**/*.textile"/>
			</fileset>
		    <stylesheet url="help.css" />
		</wikitext-to-eclipse-help>

		<copy todir="${target.folder.help}">
			<fileset dir="${build.folder}">
				<include name="**/*.html"/>
			</fileset>
		</copy>
		<copy todir="${target.folder.help}">
			<fileset dir="${styles.folder}"/>
		</copy>

		<copy todir="${target.folder.toc}">
			<fileset dir="${build.folder}">
				<include name="**/*-toc.xml"/>
			</fileset>
		</copy>

		<delete dir="${build.folder}"/>
	</target>

</project>
