<?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>bin</id>
  <formats>
    <format>tar.gz</format>
    <format>tar.bz2</format> 
    <format>zip</format>
  </formats>
  
  <fileSets>
    <!-- Copy licenses into '/' -->
    <fileSet>
      <directory>..</directory>
      <outputDirectory></outputDirectory>
      <includes>
        <include>README*</include>
        <include>LICENSE*</include>
      </includes>
    </fileSet>
    
    <!-- Copy Javadoc into '/docs' -->
    <fileSet>
      <directory>../target/site</directory>
      <outputDirectory>docs</outputDirectory>
      <includes>
        <include>apidocs*/**</include>
        <include>xref*/**</include>
      </includes>
    </fileSet>
      
  </fileSets>
  
  <files>
    <file>
      <source>../NOTICE-bin.txt</source>
      <outputDirectory></outputDirectory>
      <destName>NOTICE.txt</destName>
    </file>
  </files>

  <dependencySets>
    <!-- Copy Mina modules into '/dist' -->
    <dependencySet>
      <outputDirectory>dist</outputDirectory>
      <includes>
        <!-- Including only Mina modules -->
        <include>${project.groupId}:*</include>
      </includes>
      
      <excludes>
        <!-- Excluding sources jars -->
        <exclude>*:sources</exclude>
      </excludes> 
    </dependencySet>
    
    <!-- Copy Mina dependencies into '/lib' -->
    <dependencySet>
      <outputDirectory>lib</outputDirectory>
      <excludes>
        <!-- Excluding Mina modules -->
        <exclude>${project.groupId}:*</exclude>
      
        <!-- Excluding sources jars -->
        <exclude>*:sources</exclude>
      </excludes> 
    </dependencySet>
  </dependencySets>
</assembly>
