<?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.
-->
<assembly>
    <!-- id typically identifies the "type" (src vs bin etc) of the assembly -->
    <id></id>
    <includeBaseDirectory>false</includeBaseDirectory>
    <formats>
        <format>dir</format>
        <format>tar.gz</format>
        <format>zip</format>
    </formats>

    <fileSets>
        <!-- Add the text files to the top-level directroy -->
        <fileSet>
            <directory>src/main/release</directory>
            <outputDirectory>tuscany-sca-${tuscany.version}</outputDirectory>
            <includes>
                <include>CHANGES</include>
                <include>DISCLAIMER</include>
                <include>README</include>
                <include>RELEASE_NOTES</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>src/main/release/bin</directory>
            <outputDirectory>tuscany-sca-${tuscany.version}</outputDirectory>
            <includes>
                <include>INSTALL</include>
                <include>LICENSE</include>
                <include>NOTICE</include>
            </includes>
        </fileSet>
        <!-- Add javadoc to the doc directory -->
        <fileSet>
            <directory>target/javadoc</directory>
            <outputDirectory>tuscany-sca-${tuscany.version}/docs/javadoc</outputDirectory>
            <includes>
                <include>**/*</include>
            </includes>
        </fileSet>
        <!-- Add all the samples to the samples directory -->
        <fileSet>
            <directory>../samples</directory>
            <outputDirectory>tuscany-sca-${tuscany.version}/samples</outputDirectory>
            <includes>
                <include>**/*</include>
            </includes>
            <excludes>
                <!-- General file/folders to exclude -->
                <exclude>*/.classpath</exclude>
                <exclude>*/.project</exclude>
                <exclude>*/.settings</exclude>
                <exclude>*/.settings/**/*</exclude>
                <exclude>*/.externalToolBuilders</exclude>
                <exclude>*/.externalToolBuilders/**/*</exclude>
                <exclude>*/work</exclude>
                <exclude>*/work/**/*</exclude>
                <exclude>**/derby.log</exclude>
                <exclude>**/target/war/**</exclude>
                <exclude>*/target/mvn-eclipse-cache.properties</exclude>
                <exclude>*/target/classes</exclude>
                <exclude>*/target/classes/**/*</exclude>
                <exclude>*/target/dependency-maven-plugin-markers</exclude>
                <exclude>*/target/dependency-maven-plugin-markers/**/*</exclude>
                <exclude>*/target/test-classes</exclude>
                <exclude>*/target/test-classes/**/*</exclude>
                <exclude>*/target/surefire-reports</exclude>
                <exclude>*/target/surefire-reports/**/*</exclude>
                <exclude>*/target/sdo-source</exclude>
                <exclude>*/target/sdo-source/**/*</exclude>
                <exclude>*/target/wsdl2java-source</exclude>
                <exclude>*/target/wsdl2java-source/**/*</exclude>
                <exclude>*/**/derby.log</exclude>
                <exclude>*/**/*.svg</exclude>
                <!-- Sample specific work file/folders to exclude -->
                <exclude>pom.xml</exclude>
                <exclude>calculator-distributed/work</exclude>
                <exclude>calculator-distributed/work/**/*</exclude>
                <exclude>calculator-webapp/target/sample-calculator-webapp</exclude>
                <exclude>calculator-webapp/target/sample-calculator-webapp/**/*</exclude>
                <exclude>calculator-ws-webapp/target/sample-calculator-ws-webapp</exclude>
                <exclude>calculator-ws-webapp/target/sample-calculator-ws-webapp/**/*</exclude>
                <exclude>calculator-ws-secure-webapp</exclude>
                <exclude>calculator-ws-secure-webapp/**/*</exclude>
                <exclude>calculator-ws-secure-webapp/work</exclude>
                <exclude>callback-ws-client/work</exclude>
                <exclude>callback-ws-client/work/**/*</exclude>
                <exclude>callback-ws-service/work</exclude>
                <exclude>callback-ws-service/work/**/*</exclude>
                <exclude>chat-webapp/target/sample-chat-webapp</exclude>
                <exclude>chat-webapp/target/sample-chat-webapp/**/*</exclude>
                <exclude>domain-webapp</exclude>
                <exclude>domain-webapp/**/*</exclude>
                <exclude>feed-aggregator-webapp/target/sample-feed-aggregator-webapp</exclude>
                <exclude>feed-aggregator-webapp/target/sample-feed-aggregator-webapp/**/*</exclude>
                <exclude>feed-aggregator-webapp/target/war</exclude>
                <exclude>helloworld-bpel/target</exclude>
                <exclude>helloworld-bpel/target/**/*</exclude>
                <exclude>helloworld-dojo-webapp/src/main/webapp/dojo</exclude>
                <exclude>helloworld-dojo-webapp/src/main/webapp/dojo/**/*</exclude>
                <exclude>helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp</exclude>
                <exclude>helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp/**/*</exclude>
                <exclude>helloworld-dojo-webapp/target/war</exclude>
                <exclude>helloworld-jms-webapp</exclude>
                <exclude>helloworld-jms-webapp/**/*</exclude>
                <exclude>helloworld-jms-webapp/work</exclude>
                <exclude>helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp</exclude>
                <exclude>helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp/**/*</exclude>
                <exclude>helloworld-ws-deep-webapp</exclude>
                <exclude>helloworld-ws-deep-webapp/**/*</exclude>
                <exclude>helloworld-ws-deep-webapp/work</exclude>
                <exclude>helloworld-ws-deep-webapp/work/**/*</exclude>
                <exclude>helloworld-ws-reference/work</exclude>
                <exclude>helloworld-ws-reference/work/**/*</exclude>
                <exclude>helloworld-ws-reference-jms/activemq-data</exclude>
                <exclude>helloworld-ws-reference-jms/activemq-data/**/*</exclude>
                <exclude>helloworld-ws-reference-secure/work</exclude>
                <exclude>helloworld-ws-reference-secure/work/**/*</exclude>
                <exclude>helloworld-ws-service-webapp</exclude>
                <exclude>helloworld-ws-service-webapp/**/*</exclude>
                <exclude>helloworld-ws-service/work</exclude>
                <exclude>helloworld-ws-service/secure/work/**/*</exclude>
                <exclude>helloworld-ws-service/secure/work</exclude>
                <exclude>helloworld-ws-service/work/**/*</exclude>
                <exclude>helloworld-ws-service-jms/activemq-data</exclude>
                <exclude>helloworld-ws-service-jms/activemq-data/**/*</exclude>
                <exclude>helloworld-ws-service-secure/work</exclude>
                <exclude>helloworld-ws-service-secure/work/**/*</exclude>
                <exclude>helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp</exclude>
                <exclude>helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp/**/*</exclude>
                <exclude>helloworld-ws-sdo/work</exclude>
                <exclude>helloworld-ws-sdo/work/**/*</exclude>
                <exclude>helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp</exclude>
                <exclude>helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp/**/*</exclude>
                <exclude>loanapplication</exclude>
                <exclude>loanapplication/**/*</exclude>
                <exclude>osgi-supplychain/.felix</exclude>
                <exclude>osgi-supplychain/.felix/**/*</exclude>
                <exclude>osgi-supplychain/target/sample-osgi-supplychain</exclude>
                <exclude>osgi-supplychain/target/sample-osgi-supplychain/**/*</exclude>
                <exclude>simple-callback-ws/work</exclude>
                <exclude>simple-callback-ws/work/**/*</exclude>
                <exclude>spi-implementation-pojo</exclude>
                <exclude>spi-implementation-pojo/**/*</exclude>
                <!-- Sample war files to exclude -->
                <exclude>calculator-ws-secure-webapp/target/sample-calculator-ws-secure-webapp.war</exclude>
                <exclude>calculator-ws-webapp/target/sample-calculator-ws-webapp.war</exclude>
                <exclude>chat-webapp/target/sample-chat-webapp.war</exclude>
                <exclude>domain-webapp/target/sample-domain-webapp.war</exclude>
                <exclude>feed-aggregator-webapp/target/sample-feed-aggregator-webapp.war</exclude>
                <exclude>helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp.war</exclude>
                <exclude>helloworld-jms-webapp/target/sample-helloworld-jms-webapp.war</exclude>
                <exclude>helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp.war</exclude>
                <exclude>helloworld-ws-deep-webapp/target/sample-helloworld-ws-deep-webapp.war</exclude>
                <exclude>helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp.war</exclude>
                <exclude>helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp.war</exclude>
            </excludes>
        </fileSet>
        <!-- Add all the demos to the demos directory -->
        <fileSet>
            <directory>../demos</directory>

            <outputDirectory>tuscany-sca-${tuscany.version}/demos</outputDirectory>
            <includes>
                <include>**/*</include>
            </includes>
            <excludes>
                <exclude>*/.classpath</exclude>
                <exclude>*/.project</exclude>
                <exclude>*/.settings</exclude>
                <exclude>*/.settings/**/*</exclude>
                <exclude>*/work</exclude>
                <exclude>*/work/**/*</exclude>
                <exclude>*/target/classes</exclude>
                <exclude>*/target/classes/**/*</exclude>
                <exclude>*/target/test-classes</exclude>
                <exclude>*/target/test-classes/**/*</exclude>
                <exclude>*/target/surefire-reports</exclude>
                <exclude>*/target/surefire-reports/**/*</exclude>
                <exclude>**/derby.log</exclude>
                <exclude>*/**/derby.log</exclude>
                <exclude>*/**/*.svg</exclude>
                <exclude>*/**/*.ruleset</exclude>
                <exclude>alert-aggregator-webapp/bin</exclude>
                <exclude>alert-aggregator-webapp/bin/**/*</exclude>
                <exclude>alert-aggregator-webapp/src/main/webapp/dojo</exclude>
                <exclude>alert-aggregator-webapp/src/main/webapp/dojo/**/*</exclude>
                <exclude>alert-aggregator-webapp/target/demo-alert-aggregator</exclude>
                <exclude>alert-aggregator-webapp/target/demo-alert-aggregator/**/*</exclude>
                <exclude>alert-aggregator-webapp/target/sdo-source</exclude>
                <exclude>alert-aggregator-webapp/target/sdo-source/**/*</exclude>
                <exclude>alert-aggregator-webapp/target</exclude>
                <exclude>alert-aggregator-webapp/target/**/*</exclude>
                <exclude>bigbank/src/main/resources/web/dojo</exclude>
                <exclude>bigbank/src/main/resources/web/dojo/**/*</exclude>
                <exclude>bigbank/target</exclude>
                <exclude>bigbank/target/**/*</exclude>
                <exclude>bigbank-account/src/main/resources/web/dojo</exclude> 
                <exclude>bigbank-account/src/main/resources/web/dojo/**/*</exclude>
                <exclude>bigbank-account/target</exclude>
                <exclude>bigbank-account/target/**/*</exclude>
                <exclude>bigbank-calculator/target</exclude>
                <exclude>bigbank-calculator/target/**/*</exclude>
                <exclude>bigbank-stockquote/target</exclude>
                <exclude>bigbank-stockquote/target/**/*</exclude>
                <exclude>helloworld-ws-sdo/work</exclude>
                <exclude>helloworld-ws-sdo/work/**/*</exclude>
                <exclude>mortgage-creditcheck/target/demo-mortgage-creditcheck</exclude>
                <exclude>mortgage-creditcheck/target/demo-mortgage-creditcheck/**/*</exclude>
                <exclude>mortgage-creditcheck/target</exclude>
                <exclude>mortgage-creditcheck/target/**/*</exclude>
                <exclude>mortgage-loanapproval/target</exclude>
                <exclude>mortgage-loanapproval/target/**/*</exclude>
                <exclude>secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo</exclude> 
                <exclude>secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo/**/*</exclude> 
                <exclude>secure-bigbank/secure-bigbank-account/target</exclude>
                <exclude>secure-bigbank/secure-bigbank-account/target/**/*</exclude>
                <exclude>secure-bigbank/secure-bigbank-calculator/target</exclude>
                <exclude>secure-bigbank/secure-bigbank-calculator/target/**/*</exclude>
                <exclude>secure-bigbank/secure-bigbank-stockquote/target</exclude>
                <exclude>secure-bigbank/secure-bigbank-stockquote/target/**/*</exclude>
                <exclude>xml-bigbank/target</exclude>
                <exclude>xml-bigbank/target/**/*</exclude>
                <exclude>target</exclude>
                <exclude>target/**/*</exclude>
            </excludes>
        </fileSet>
        <!-- Add all the tutorials to the tutorials directory -->
        <fileSet>
            <directory>../tutorial</directory>

            <outputDirectory>tuscany-sca-${tuscany.version}/tutorial</outputDirectory>
            <includes>
                <include>**/*</include>
            </includes>
            <excludes>
                <exclude>*/.classpath</exclude>
                <exclude>*/.project</exclude>
                <exclude>*/.settings</exclude>
                <exclude>*/.settings/**/*</exclude>
                <exclude>*/work</exclude>
                <exclude>*/work/**/*</exclude>
                <exclude>*/target/classes</exclude>
                <exclude>*/target/classes/**/*</exclude>
                <exclude>*/target/test-classes</exclude>
                <exclude>*/target/test-classes/**/*</exclude>
                <exclude>*/target/surefire-reports</exclude>
                <exclude>*/target/surefire-reports/**/*</exclude>
                <exclude>*/target/war</exclude>
                <exclude>*/target/war/**/*</exclude>
                <exclude>**/derby.log</exclude>
                <exclude>*/**/derby.log</exclude>
                <exclude>*/**/*.svg</exclude>
                <exclude>*/**/*.ruleset</exclude>
                <exclude>target</exclude>
                <exclude>target/**/*</exclude>
                <exclude>catalog-webapp/target/war</exclude>
                <exclude>catalog-webapp/target/war/**/*</exclude>
                <exclude>catalog-webapp/target/tutorial-catalog-webapp</exclude>
                <exclude>catalog-webapp/target/tutorial-catalog-webapp/**/*</exclude>
                <exclude>store-db/target/cart-db/</exclude>
                <exclude>store-db/target/cart-db/**/*</exclude>
                <exclude>store-eu/target/cart-eu-db/</exclude>
                <exclude>store-eu/target/cart-eu-db/**/*</exclude>
                <exclude>store-supplier/target/cart-db/</exclude>
                <exclude>store-supplier/target/cart-db/**/*</exclude>
            </excludes>
        </fileSet>
        <!-- Add the generated tuscany manifest classpath jar to the lib directory -->
        <fileSet>
            <directory>manifest/target</directory>
            <outputDirectory>tuscany-sca-${tuscany.version}/lib</outputDirectory>
            <includes>
                <include>tuscany-sca-manifest.jar</include>
            </includes>
        </fileSet>
        <!-- Add the node launcher webapp to the modules directory -->
        <fileSet>
            <directory>../modules/node2-launcher-webapp/target</directory>
            <outputDirectory>tuscany-sca-${tuscany.version}/modules</outputDirectory>
            <includes>
                <include>*.war</include>
            </includes>
        </fileSet>

        <!-- temporary fix since maven dependencies of rampart seems to refere to SNAPSHOT versions of the parent pom --> 
        <!--fileSet>
            <directory>../modules/binding-ws-axis2/target/classes/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules</directory>
            <outputDirectory>tuscany-sca-${tuscany.version}/lib</outputDirectory>
            <includes>
                <include>rampart-1.3.mar</include> 
            </includes>
        </fileSet-->
    </fileSets>

    <dependencySets>
        <!-- Add all the Tuscany modules to the modules directory -->
        <dependencySet>
            <outputDirectory>tuscany-sca-${tuscany.version}/modules</outputDirectory>
            <unpack>false</unpack>
            <includes>
                <include>org.apache.tuscany.sca:*</include>
            </includes>
            <!-- exclude the tuscany bundle jar from the modules directory -->
            <excludes>
                <exclude>org.apache.tuscany.sca:tuscany-bundle</exclude>
            </excludes>
            <scope>runtime</scope>
        </dependencySet>
        <!-- Add all the dependent jars to the lib directory -->
        <dependencySet>
            <outputDirectory>tuscany-sca-${tuscany.version}/lib</outputDirectory>
            <unpack>false</unpack>
            <excludes>
                <exclude>org.apache.tuscany.sca:*</exclude>
            </excludes>
            <scope>runtime</scope>
        </dependencySet>
        <!-- Add the Tuscany bundle jar to the lib directory renaming it to nicer name -->
        <dependencySet>
            <outputDirectory>tuscany-sca-${tuscany.version}/lib</outputDirectory>
            <unpack>false</unpack>
            <includes>
                <include>org.apache.tuscany.sca:tuscany-bundle</include>
            </includes>
            <scope>runtime</scope>
            <outputFileNameMapping>tuscany-sca-all-${version}.jar</outputFileNameMapping>
        </dependencySet>

    </dependencySets>

</assembly>
