<?xml version="1.0" encoding="UTF-8"?>
<!--
    * 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>
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache.tuscany.sca</groupId>
        <artifactId>tuscany-itest</artifactId>
        <version>2.0.1</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <packaging>pom</packaging>
    <artifactId>itest-ws</artifactId>
    <name>Apache Tuscany SCA iTest WS</name>
    
  <modules>
    <module>defaults</module>
    <module>authentication-basic</module>
    <module>http-ssl</module>
    <module>wsdl</module>
    <module>endpoints</module>
    <module>endpoint-references</module>
    <module>holder-ws-service-multiple-outputs</module>
    <module>wspolicy</module>
<!--
    <module>jms</module>
    <module>mtom</module>
    <module>authentication-wssecurity</module>
    <module>autherization-wssecurity</module>
    <module>confidentiality-wssecurity</module>
-->
    <!-- separate test contributions from launcher -->
    <module>contribution-java-first</module>
    <module>contribution-wsdl-first</module>
    <module>contribution-callback</module>
    <module>contribution-callback-forwardspec</module>
    <module>contribution-callback-fullspec</module>
    <module>contribution-callback-promotion</module>
    <module>contribution-callback-wsdl-iface</module>
    <module>contribution-doc-lit</module>
    <module>contribution-doc-lit-wrapped</module>
    <module>contribution-doc-lit-wrapped-dom</module>
    <module>contribution-rpc-lit</module>
    <module>contribution-reference-target</module>
    <module>external-client</module>
    <module>external-service</module>
    <module>launcher-axis2</module>
    <module>wsdlgen</module>
  </modules>

</project>
