<?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>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>*/maven-eclipse.xml</exclude>
                <exclude>**/pom-transformed.xml</exclude>
                <exclude>*/.settings</exclude>
                <exclude>*/.settings/**/*</exclude>
                <exclude>*/.externalToolBuilders</exclude>
                <exclude>*/.externalToolBuilders/**/*</exclude>
                <exclude>*/work</exclude>
                <exclude>*/work/**/*</exclude>
                <exclude>**/activemq-test.log</exclude>
                <exclude>**/activemq-data</exclude>
                <exclude>**/activemq-data/**/*</exclude>
                <exclude>**/derby.log</exclude>
                <exclude>**/resources/dojo</exclude>
                <exclude>**/resources/dojo/**/*</exclude>
                <exclude>**/webapp/dojo</exclude>
                <exclude>**/webapp/dojo/**/*</exclude>
                <exclude>**/target/war/**</exclude>
                <exclude>**/target/archive-tmp/**</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/.felix/**</exclude>
                <exclude>*/target/maven-archiver</exclude>
                <exclude>*/target/maven-archiver/**/*</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>*/**/*.svg</exclude>
                <!-- Sample specific work file/folders to 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/target/sample-calculator-ws-secure-webapp</exclude>
                <exclude>calculator-ws-secure-webapp/target/sample-calculator-ws-secure-webapp/**/*</exclude>
                <exclude>chat-webapp/target/sample-chat-webapp</exclude>
                <exclude>chat-webapp/target/sample-chat-webapp/**/*</exclude>
                <exclude>feed-aggregator-webapp/target/sample-feed-aggregator-webapp</exclude>
                <exclude>feed-aggregator-webapp/target/sample-feed-aggregator-webapp/**/*</exclude>
                <exclude>helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp</exclude>
                <exclude>helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp/**/*</exclude>
                <exclude>helloworld-jms-webapp/target/sample-helloworld-jms-webapp</exclude>
                <exclude>helloworld-jms-webapp/target/sample-helloworld-jms-webapp/**/*</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/target/sample-helloworld-ws-deep-webapp</exclude>
                <exclude>helloworld-ws-deep-webapp/target/sample-helloworld-ws-deep-webapp/**/*</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-webapp/target/sample-helloworld-ws-sdo-webapp</exclude>
                <exclude>helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp/**/*</exclude>
                <exclude>store-webapp/target/sample-store-webapp</exclude>
                <exclude>store-webapp/target/sample-store-webapp/**/*</exclude>
                <exclude>zipcode-jaxws/target/endorsed</exclude>
                <exclude>zipcode-jaxws/target/endorsed/**/*</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>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>
                <exclude>store-webapp/target/sample-store-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>
                <!-- General file/folders to exclude -->
                <exclude>*/.classpath</exclude>
                <exclude>*/.project</exclude>
                <exclude>*/maven-eclipse.xml</exclude>
                <exclude>**/pom.transformed.xml</exclude>
                <exclude>*/.settings</exclude>
                <exclude>*/.settings/**/*</exclude>
                <exclude>*/.externalToolBuilders/**</exclude>
                <exclude>*/work</exclude>
                <exclude>*/work/**/*</exclude>
                <exclude>**/resources/dojo</exclude>
                <exclude>**/resources/dojo/**/*</exclude>
                <exclude>**/webapp/dojo</exclude>
                <exclude>**/webapp/dojo/**/*</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>*/**/*.svg</exclude>
                <exclude>*/**/*.ruleset</exclude>
                <exclude>*/target/sdo-source/**</exclude>
                <exclude>*/target/maven-archiver/**</exclude>
                <exclude>*/target/cargo-jetty/**</exclude>
                <exclude>*/target/war/**</exclude>
                <!-- Specific work file/folders to exclude -->
                <exclude>alert-aggregator-webapp/target/demo-alert-aggregator-webapp</exclude>
                <exclude>alert-aggregator-webapp/target/demo-alert-aggregator-webapp/**/*</exclude>
                <!-- war files to exclude -->
                <exclude>alert-aggregator-webapp/target/demo-alert-aggregator-webapp.war</exclude>
            </excludes>
        </fileSet>
        <!-- Add all the tutorials to the tutorials directory -->
        <fileSet>
            <directory>../tutorials</directory>

            <outputDirectory>tuscany-sca-${tuscany.version}/tutorials</outputDirectory>
            <includes>
                <include>**/*</include>
            </includes>
            <excludes>
                <!-- General file/folders to exclude -->
                <exclude>**/.classpath</exclude>
                <exclude>**/.project</exclude>
                <exclude>**/pom.transformed.xml</exclude>
                <exclude>**/.settings/**</exclude>
                <exclude>**/target/classes/**</exclude>
                <exclude>**/target/test-classes/**</exclude>
                <exclude>**/target/surefire-reports/**</exclude>
                <exclude>**/target/maven-archiver/**</exclude>
                <exclude>**/target/war/**</exclude>
                <exclude>**/target/.felix/**</exclude>
                <exclude>**/derby.log</exclude>
                <exclude>**/*.svg</exclude>
                <exclude>**/*.ruleset</exclude>
                 <!-- Specific work file/folders to exclude -->
                <exclude>store/catalog-webapp/target/tutorial-catalog-webapp/**</exclude>
                <exclude>store/store-db/target/cart-db/**</exclude>
                <exclude>store/store-eu/target/cart-eu-db/**</exclude>
                <exclude>store/store-supplier/target/cart-db/**</exclude>
                <exclude>travelsample/**</exclude>
                <!-- war files to exclude -->
                <exclude>store/catalog-webapp/target/tutorial-catalog-webapp.war</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>

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