<!--
 * 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>
