<?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-sca</artifactId>
        <version>1.7-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <artifactId>tuscany-samples</artifactId>
    <packaging>pom</packaging>
    <name>Apache Tuscany SCA Samples</name>

    <repositories>
        <repository>
            <id>apache.incubator</id>
            <url>http://people.apache.org/repo/m2-incubating-repository</url>
        </repository>
    </repositories>

    <profiles>
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>binding-echo</module>
                <module>binding-echo-extension</module>
                <module>binding-notification-broker</module>
                <module>binding-notification-consumer</module>
                <module>binding-notification-producer</module>
                <module>calculator</module>
                <module>calculator-corba-reference</module>
                <module>calculator-corba-service</module>
                <module>calculator-lean</module> <!-- not released in 1.6.1 -->
                <module>calculator-distributed</module>
                <module>calculator-implementation-policies</module>
                <module>calculator-rmi-reference</module>
                <module>calculator-rmi-service</module>
                <module>calculator-script</module>
                <module>calculator-webapp</module>
                <module>calculator-ws-secure-webapp</module> <!-- not released in 1.6.1 -->
                <module>calculator-ws-webapp</module>
                <module>callback-ws-client</module>
                <module>callback-ws-service</module>
                <module>callbacks-jms</module>
                <module>chat-webapp</module>
                <module>customer-dojo</module> <!-- not released in 1.6.1 -->
                <module>customer-dojo-webapp</module> <!-- not released in 1.6.1 -->
                <module>databinding-echo</module>
                <module>domain-management</module>
                <module>feed-aggregator</module>
                <module>feed-aggregator-webapp</module>
                <module>helloworld-bpel</module>
                <module>helloworld-dojo-webapp</module>
                <module>helloworld-erlang-reference</module>
                <module>helloworld-erlang-service</module>
                <module>helloworld-jms-webapp</module> <!-- not released in 1.6.1 -->
                <module>helloworld-jsonrpc-webapp</module>
                <module>helloworld-reference-jms</module>
                <module>helloworld-service-jms</module>
                <module>helloworld-ws-service</module>
                <module>helloworld-ws-service-jms</module>
                <module>helloworld-ws-service-secure</module>
                <module>helloworld-ws-reference</module>
                <module>helloworld-ws-reference-lean</module> <!-- not released in 1.6.1 -->
                <module>helloworld-ws-reference-jms</module>
                <module>helloworld-ws-reference-secure</module>
                <module>helloworld-ws-sdo</module>
                <module>helloworld-ws-sdo-webapp</module>
                <module>holder-ws-service</module>
                <module>implementation-composite</module>
                <module>implementation-crud</module>
                <module>implementation-crud-extension</module>
                <module>implementation-notification</module>
                <module>implementation-pojo-extension</module>
                <module>loanapplication</module> <!-- not released in 1.6.1 -->
                <module>osgi-supplychain</module>
                <module>photo-gallery</module>
                <module>quote-xquery</module>
                <module>simple-bigbank</module>
                <module>simple-bigbank-spring</module>
                <module>spring-bigbank-checkaccount</module>
                <module>spring-bigbank-calculator</module>
                <module>spring-bigbank-stockquote</module>
                <module>simple-callback</module>
                <module>simple-callback-ws</module>
                <module>store</module>
                <module>store-dojo</module>
                <module>store-webapp</module>
                <module>store-secure</module>
                <module>store-distributed</module> <!-- not released in 1.6.1 -->
                <module>supplychain</module>
                <module>web-resource</module>
                <!-- TUSCANY-3758: excluded from build
                <module>zipcode-jaxws</module> **** not released in 1.6.1 ***
                -->
            </modules>
        </profile>
    </profiles>
    
</project>
