<!--
 * 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="oneway" default="runServer">

	<property name="m2.repo"   value="${user.home}\.m2\repository" />
	
    <path id="repo.classpath">   	
    	<pathelement location="target/classes"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-core-spi\2.5-SNAPSHOT\tuscany-core-spi-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-host-http\2.5-SNAPSHOT\tuscany-host-http-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-ws-axis2\2.5-SNAPSHOT\tuscany-binding-ws-axis2-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-policy\2.5-SNAPSHOT\tuscany-policy-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\xerces\xercesImpl\2.8.1\xercesImpl-2.8.1.jar"/>
    	<pathelement location="${m2.repo}\org\mortbay\jetty\jetty-util\6.1.3\jetty-util-6.1.3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\geronimo\specs\geronimo-jms_1.1_spec\1.1\geronimo-jms_1.1_spec-1.1.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-implementation-java-runtime\2.5-SNAPSHOT\tuscany-implementation-java-runtime-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\wsdl4j\wsdl4j\1.6.2\wsdl4j-1.6.2.jar"/>
    	<pathelement location="${m2.repo}\commons-codec\commons-codec\1.3\commons-codec-1.3.jar"/>
    	<pathelement location="${m2.repo}\xml-apis\xml-apis\1.3.03\xml-apis-1.3.03.jar"/>
    	<pathelement location="${m2.repo}\org\apache\ws\security\wss4j\1.5.3\wss4j-1.5.3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution-namespace\2.5-SNAPSHOT\tuscany-contribution-namespace-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\jdom\jdom\1.0\jdom-1.0.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-assembly-xsd\2.5-SNAPSHOT\tuscany-assembly-xsd-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-assembly\2.5-SNAPSHOT\tuscany-assembly-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\rampart\rampart-trust\1.3\rampart-trust-1.3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-core-databinding\2.5-SNAPSHOT\tuscany-core-databinding-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar"/>
    	<pathelement location="${m2.repo}\org\apache\ws\commons\axiom\axiom-api\1.2.5\axiom-api-1.2.5.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-policy-xml\2.5-SNAPSHOT\tuscany-policy-xml-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\axis2\axis2-kernel\1.3\axis2-kernel-1.3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-sca-api\2.5-SNAPSHOT\tuscany-sca-api-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\cglib\cglib-nodep\2.1_3\cglib-nodep-2.1_3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\httpcomponents\httpcore\4.0-alpha5\httpcore-4.0-alpha5.jar"/>
    	<pathelement location="${m2.repo}\backport-util-concurrent\backport-util-concurrent\2.2\backport-util-concurrent-2.2.jar"/>
    	<pathelement location="${m2.repo}\commons-logging\commons-logging\1.1\commons-logging-1.1.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution-java\2.5-SNAPSHOT\tuscany-contribution-java-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\geronimo\specs\geronimo-activation_1.1_spec\1.0-M1\geronimo-activation_1.1_spec-1.0-M1.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-databinding\2.5-SNAPSHOT\tuscany-databinding-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\logkit\logkit\1.0.1\logkit-1.0.1.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-ws-xml\2.5-SNAPSHOT\tuscany-binding-ws-xml-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\commons-fileupload\commons-fileupload\1.1.1\commons-fileupload-1.1.1.jar"/>
    	<pathelement location="${m2.repo}\annogen\annogen\0.1.0\annogen-0.1.0.jar"/>
    	<pathelement location="${m2.repo}\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar"/>
    	<pathelement location="${m2.repo}\org\apache\axis2\axis2-adb\1.3\axis2-adb-1.3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-policy-security\2.5-SNAPSHOT\tuscany-policy-security-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-assembly-xml\2.5-SNAPSHOT\tuscany-assembly-xml-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\axis2\axis2-mtompolicy\1.3\axis2-mtompolicy-1.3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-domain\2.5-SNAPSHOT\tuscany-domain-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\commons-httpclient\commons-httpclient\3.0.1\commons-httpclient-3.0.1.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-java\2.5-SNAPSHOT\tuscany-interface-java-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\axis2\axis2-java2wsdl\1.3\axis2-java2wsdl-1.3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\httpcomponents\httpcore-nio\4.0-alpha5\httpcore-nio-4.0-alpha5.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution\2.5-SNAPSHOT\tuscany-contribution-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-implementation-java\2.5-SNAPSHOT\tuscany-implementation-java-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\xalan\xalan\2.7.0\xalan-2.7.0.jar"/>
    	<pathelement location="${m2.repo}\com\ibm\icu\icu4j\2.6.1\icu4j-2.6.1.jar"/>
    	<pathelement location="${m2.repo}\org\apache\rampart\rampart-core\1.3\rampart-core-1.3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\geronimo\specs\geronimo-commonj_1.1_spec\1.0\geronimo-commonj_1.1_spec-1.0.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-domain-api\2.5-SNAPSHOT\tuscany-domain-api-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-sca\2.5-SNAPSHOT\tuscany-binding-sca-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\xom\xom\1.0\xom-1.0.jar"/>
    	<pathelement location="${m2.repo}\org\apache\ant\ant-launcher\1.7.0\ant-launcher-1.7.0.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-host-jetty\2.5-SNAPSHOT\tuscany-host-jetty-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\rampart\rampart-policy\1.3\rampart-policy-1.3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\httpcomponents\httpcore-niossl\4.0-alpha5\httpcore-niossl-4.0-alpha5.jar"/>
    	<pathelement location="${m2.repo}\junit\junit\4.2\junit-4.2.jar"/>
    	<pathelement location="${m2.repo}\org\apache\ws\commons\axiom\axiom-impl\1.2.5\axiom-impl-1.2.5.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-implementation-java-xml\2.5-SNAPSHOT\tuscany-implementation-java-xml-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-sca-xml\2.5-SNAPSHOT\tuscany-binding-sca-xml-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\neethi\neethi\2.0.2\neethi-2.0.2.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-wsdl\2.5-SNAPSHOT\tuscany-interface-wsdl-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-ws\2.5-SNAPSHOT\tuscany-binding-ws-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\javax\activation\activation\1.1\activation-1.1.jar"/>
    	<pathelement location="${m2.repo}\org\apache\ant\ant\1.7.0\ant-1.7.0.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-databinding-axiom\2.5-SNAPSHOT\tuscany-databinding-axiom-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\mortbay\jetty\jetty\6.1.3\jetty-6.1.3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\geronimo\specs\geronimo-javamail_1.4_spec\1.0-M1\geronimo-javamail_1.4_spec-1.0-M1.jar"/>
    	<pathelement location="${m2.repo}\avalon-framework\avalon-framework\4.1.3\avalon-framework-4.1.3.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-core\2.5-SNAPSHOT\tuscany-core-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-wsdl-xml\2.5-SNAPSHOT\tuscany-interface-wsdl-xml-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution-impl\2.5-SNAPSHOT\tuscany-contribution-impl-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-node\2.5-SNAPSHOT\tuscany-node-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-definitions\2.5-SNAPSHOT\tuscany-definitions-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\santuario\xmlsec\1.4.0\xmlsec-1.4.0.jar"/>
    	<pathelement location="${m2.repo}\jaxen\jaxen\1.1.1\jaxen-1.1.1.jar"/>
    	<pathelement location="${m2.repo}\commons-io\commons-io\1.2\commons-io-1.2.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-host-embedded\2.5-SNAPSHOT\tuscany-host-embedded-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\ws\commons\axiom\axiom-dom\1.2.5\axiom-dom-1.2.5.jar"/>
    	<pathelement location="${m2.repo}\log4j\log4j\1.2.12\log4j-1.2.12.jar"/>
    	<pathelement location="${m2.repo}\javax\mail\mail\1.4\mail-1.4.jar"/>
    	<pathelement location="${m2.repo}\org\apache\axis2\axis2-codegen\1.3\axis2-codegen-1.3.jar"/>
    	<pathelement location="${m2.repo}\org\codehaus\woodstox\wstx-asl\3.2.1\wstx-asl-3.2.1.jar"/>
    	<pathelement location="${m2.repo}\stax\stax-api\1.0.1\stax-api-1.0.1.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-java-xml\2.5-SNAPSHOT\tuscany-interface-java-xml-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\apache\ws\commons\schema\XmlSchema\1.3.2\XmlSchema-1.3.2.jar"/>
    	<pathelement location="${m2.repo}\xerces\xmlParserAPIs\2.6.2\xmlParserAPIs-2.6.2.jar"/>
    	<pathelement location="${m2.repo}\org\apache\woden\woden\1.0-incubating-M7b\woden-1.0-incubating-M7b.jar"/>
    	<pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface\2.5-SNAPSHOT\tuscany-interface-2.5-SNAPSHOT.jar"/>
    	<pathelement location="${m2.repo}\org\easymock\easymock\2.2\easymock-2.2.jar"/>  	
   </path>	
    	
    <target name="runServer">
        <java classname="org.apache.tuscany.sca.itest.oneway.impl.OneWayServer"
              fork="true">
            <classpath>
            	<path refid="repo.classpath"/>
            </classpath>    	        	
        </java>
    </target>
	
</project>
