<!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.    
-->
<project name="sample-quote-xquery" default="compile">
	<property name="test.class" value="xquery.quote.XQueryQuoteClient" />
	<property name="test.server.class" value="xquery.quote.XQueryQuoteServer" />
	<property name="test.jar" value="sample-quote-xquery.jar" />

	<target name="init">
		<mkdir dir="target/classes" />
	</target>

	<property name="tuscany.sca.manifest.location" value="../../lib/tuscany-sca-manifest.jar" />

	<path id="project.classpath">
		<pathelement path="target/classes" />
		<pathelement path="target/sdo-source" />
		<pathelement location="${tuscany.sca.manifest.location}" />
	</path>

	<target name="generate-sdo" depends="init">
		<java classname="org.apache.tuscany.sdo.generate.XSD2JavaGenerator" fork="true">
			<arg value="-targetDirectory" />
			<arg value="target/sdo-source" />
			<arg value="-noNotification" />
			<!-- Make sure the -noUnsettable is not used, otherwise, the SDO cannot be
			properly transformed to Node as some properties are treated as unset -->
			<arg value="src/main/resources/wsdl/Quote.xsd" />

			<classpath refid="project.classpath" />
		</java>
		<java classname="org.apache.tuscany.sdo.generate.XSD2JavaGenerator" fork="true">
			<arg value="-targetDirectory" />
			<arg value="target/sdo-source" />
			<arg value="-noNotification" />
			<!-- Make sure the -noUnsettable is not used, otherwise, the SDO cannot be
			properly transformed to Node as some properties are treated as unset -->
			<arg value="src/main/resources/wsdl/AvailQuote.xsd" />

			<classpath refid="project.classpath" />
		</java>
		<java classname="org.apache.tuscany.sdo.generate.XSD2JavaGenerator" fork="true">
			<arg value="-targetDirectory" />
			<arg value="target/sdo-source" />
			<arg value="-noNotification" />
			<!-- Make sure the -noUnsettable is not used, otherwise, the SDO cannot be
			properly transformed to Node as some properties are treated as unset -->
			<arg value="src/main/resources/wsdl/PriceQuote.xsd" />

			<classpath refid="project.classpath" />
		</java>

	</target>


	<target name="compile" depends="init, generate-sdo">
		<javac destdir="target/classes" debug="on" source="1.5" target="1.5">
		    <src path="target/sdo-source"/>
		    <src path="src/main/java"/>
			<classpath refid="project.classpath" />
		</javac>
		<copy todir="target/classes">
			<fileset dir="src/main/resources" />
		</copy>
		<jar destfile="target/${test.jar}" basedir="target/classes">
			<manifest>
				<attribute name="Main-Class" value="${test.class}" />
			</manifest>
		</jar>

	</target>

	<target name="run-classes">
		<java classname="${test.class}" fork="true">
			<classpath>
				<pathelement path="target/classes" />
			</classpath>
			<classpath refid="project.classpath" />
		</java>
	</target>

	<target name="run">
		<java classname="${test.class}" fork="true">
			<classpath>
				<pathelement path="target/${test.jar}" />
			</classpath>
			<classpath refid="project.classpath" />
		</java>
	</target>

	<target name="run-server">
		<java classname="${test.server.class}" fork="true">
			<classpath>
				<pathelement path="target/${test.jar}" />
			</classpath>
			<classpath refid="project.classpath" />
		</java>
	</target>

	<target name="clean">
		<delete quiet="true" includeemptydirs="true">
			<fileset dir="target" />
		</delete>
	</target>
</project>
