<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
 * *******************************************************************************
 *  Copyright (c) 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
 * *******************************************************************************
-->

<project default="javadoc">
	
	<property name="model-package" value="${basedir}/src/org/eclipse/app4mc/amalthea/model"/>
	<property name="builder-package" value="${model-package}/builder"/>
	<property name="util-package" value="${model-package}/util"/>
	
	<target name="javadoc">
		<javadoc
 			additionalparam=" -nonavbar -noqualifier all "
			access="public"
			author="false"
			classpath="C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\com.google.guava_21.0.0.v20170206-1425.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.emf.common_2.13.0.v20170609-0707.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.emf.transaction_1.9.0.201706061339.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.emf.ecore.change_2.11.0.v20170609-0707.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.sphinx.platform_0.11.0.201706140911.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.equinox.common_3.9.0.v20170207-1454.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.core.expressions_3.6.0.v20170207-1037.jar;C:\workspace\e_ide\_targets\app4mc.platform-0.9.2\plugins\org.eclipse.emf.ecore.xcore.lib_1.1.100.v20170613-0242.jar;C:\workspace\e_ide\_targets\app4mc.platform-0.9.2\plugins\org.eclipse.equinox.weaving.hook_1.2.0.v20160929-1449.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.osgi_3.12.100.v20180210-1608.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.core.contenttype_3.6.0.v20170207-1037.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.core.commands_3.9.0.v20170530-1048.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.emf.ecore_2.13.0.v20170609-0707.jar;C:\workspace\e_ide\_targets\app4mc.platform-0.9.2\plugins\org.eclipse.equinox.transforms.hook_1.2.0.v20170105-1446.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.core.filesystem_1.7.0.v20170406-1337.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.apache.commons.cli_1.2.0.v201404270220.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.sphinx.emf_0.11.0.201706140911.jar;C:\workspace\_repos\git-eclipse\app4mc.1\plugins\org.eclipse.app4mc.amalthea.sphinx\bin;C:\progs_mc\java\jdk-8u191\jre\lib\jfxswt.jar;C:\workspace\e_ide\2018-12_committer\plugins\org.eclipse.fx.ide.css.jfx8_3.3.0.201809010700.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.core.jobs_3.9.3.v20180115-1757.jar;C:\workspace\e_ide\_targets\app4mc.platform-0.9.2\plugins\org.eclipse.equinox.region_1.4.0.v20170117-1425.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.osgi.compatibility.state_1.1.0.v20170516-1513.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.jdt.annotation_2.1.150.v20180322-1206.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.core.runtime_3.13.0.v20170207-1030.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.apache.xerces_2.9.0.v201101211617.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.sphinx.emf.workspace_0.11.0.201706140911.jar;C:\workspace\e_ide\_targets\app4mc.platform-0.9.2\plugins\org.apache.commons.math3_3.5.0.v20160301-1110.jar;C:\workspace\e_ide\_targets\app4mc.platform-0.9.2\plugins\org.eclipse.fx.osgi_3.0.0.201705220748.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.emf.ecore.xmi_2.13.0.v20170609-0707.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.emf.validation_1.8.0.201706061352.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.core.resources_3.12.0.v20170417-1558.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.emf.edit_2.12.0.v20170609-0928.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.equinox.registry_3.7.0.v20170222-1344.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\javax.inject_1.0.0.v20091030.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.equinox.app_1.3.400.v20150715-1528.jar;C:\workspace\e_ide\_targets\app4mc.platform-0.9.2\plugins\org.eclipse.xtext.xbase.lib_2.13.0.v20171020-0659.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.equinox.preferences_3.7.0.v20170126-2132.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.apache.xml.resolver_1.2.0.v201005080400.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\org.eclipse.emf.workspace_1.5.1.201706061339.jar;C:\workspace\e_ide\2018-12_committer\_ws\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\plugins\javax.xml_1.3.4.v201005080400.jar"
			destdir="doc"
			nodeprecated="false"
			nodeprecatedlist="false"
			noindex="true" nonavbar="true"
			notree="true"
			packagenames="org.eclipse.app4mc.amalthea.model.io"
			source="1.8"
			sourcefiles="${model-package}/AmaltheaIndex.java,${util-package}/FactoryUtil.java,${builder-package}/ConstraintsBuilder.java,${builder-package}/HardwareBuilder.java,${util-package}/CustomPropertyUtil.java,${util-package}/SoftwareUtil.java,${util-package}/RuntimeUtil.java,${builder-package}/DatatypeBuilder.java,${builder-package}/CommonElementsBuilder.java,${builder-package}/AmaltheaBuilder.java,${builder-package}/OperatingSystemBuilder.java,${util-package}/DeploymentUtil.java,${model-package}/AmaltheaMerger.java,${model-package}/AmaltheaServices.java,${builder-package}/MappingBuilder.java,${util-package}/HardwareUtil.java,${util-package}/TimeUtil.java,${builder-package}/SoftwareBuilder.java,${util-package}/ModelUtil.java,${builder-package}/InstructionsBuilder.java"
			sourcepath="xtend-gen;src-gen;src"
			splitindex="false"
			use="false"
			version="true" />
	</target>

</project>
