<?xml version="1.0" encoding="UTF-8"?>
<project default="codegen" basedir="..">
    <dirname property="antfile.dir" file="${ant.file}"/>
    
    <!-- Global properties -->
	<property name="main.directory" location="${antfile.dir}/.."/>
	<property name="source.directory" value="src"/>
	
	<target name="codegen">

	    <!-- A macrodef makes it easier to generate code for multiple models in one script. -->
		<macrodef name="multipleXSDs2Java">
			<attribute name="genModelName"/>
			<element name="settings"/>
			<sequential>
				<emf.XSD2Java
					genModel="${main.directory}/emf/@{genModelName}.genmodel"
					modelProject="${main.directory}"
					modelProjectFragmentPath="${source.directory}"
					modelPluginID="@{genModelName}.model"
					copyright="This is my code.">
					<settings/>
				</emf.XSD2Java>
			</sequential>
		</macrodef>

		<!-- Generating the code for the library model -->
		<multipleXSDs2Java genModelName="library">
			<settings>
				<model file="${main.directory}/model/libraryPart1.xsd"/>
				<model file="${main.directory}/model/libraryPart2.xsd"/>
				<arg line="-packages http://www.example.eclipse.org/Library1"/>
				<arg line="-packages http://www.example.eclipse.org/Library2"/>
				<arg line="-packageMap http://www.example.eclipse.org/Library1 org.examples.library.elements"/>
				<arg line="-packageMap http://www.example.eclipse.org/Library2 org.examples.library"/>
			</settings>
		</multipleXSDs2Java>
		
	</target>
</project>