carbidecpp20devenv/plugins/org.eclipse.xsd.source_2.4.1.v200808251517/src/org.eclipse.xsd.ecore.importer_2.4.0.v200808251517/examples/library/build/codeGenFromMultipleXSD.xml
author cawthron
Wed, 18 Mar 2009 17:21:00 -0500
changeset 1 82d1d1de1a01
permissions -rw-r--r--
import Carbide.c++

<?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="output.directory" location="${main.directory}"/>
	<property name="source.directory" value="src"/>
	<property name="genJDKLevel" value="5.0"/>
	
	<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="${output.directory}/emf/@{genModelName}.genmodel"
					modelProject="${output.directory}"
					modelProjectFragmentPath="${source.directory}"
					modelPluginID="@{genModelName}.model"
					copyright="This is my code."
					jdkLevel="${genJDKLevel}">
					<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>