<?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
  xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
  <id>src</id>
  <formats>
    <format>zip</format>
    <format>tar.gz</format>
    <format>tar.bz2</format>
    <format>zip</format>
  </formats>
  <moduleSets>
    <moduleSet>
      <includes>
        <include>org.apache.mnemonic:mnemonic-core</include>
        <include>org.apache.mnemonic:mnemonic-collections</include>
        <include>org.apache.mnemonic:mnemonic-sessions</include>
        <include>org.apache.mnemonic:mnemonic-examples</include>
        <include>org.apache.mnemonic:mnemonic-query</include>
        <include>org.apache.mnemonic:mnemonic-common</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <directory>.</directory>
            <outputDirectory>.</outputDirectory>
            <useDefaultExcludes>true</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>dependency-reduced-pom.xml</exclude>
              <exclude>**/*.dat</exclude>
            </excludes>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.apache.mnemonic:mnemonic-memory-services</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <directory>.</directory>
            <outputDirectory>.</outputDirectory>
            <useDefaultExcludes>true</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>**/service-dist/**</exclude>
              <exclude>dependency-reduced-pom.xml</exclude>
              <exclude>**/*.dat</exclude>
            </excludes>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.apache.mnemonic:mnemonic-pmalloc-service</include>
        <include>org.apache.mnemonic:mnemonic-nvml-vmem-service</include>
        <include>org.apache.mnemonic:mnemonic-nvml-pmem-service</include>
        <include>org.apache.mnemonic:mnemonic-sys-vmem-service</include>
        <include>org.apache.mnemonic:mnemonic-java-vmem-service</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <directory>.</directory>
            <outputDirectory>.</outputDirectory>
            <useDefaultExcludes>true</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>**/native/build/**</exclude>
              <exclude>**/native/dist/**</exclude>
              <exclude>dependency-reduced-pom.xml</exclude>
              <exclude>**/*.dat</exclude>
            </excludes>
          </fileSet>
        </fileSets>
        <outputDirectoryMapping>mnemonic-memory-services/${module.artifactId}</outputDirectoryMapping>
      </sources>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.apache.mnemonic:mnemonic-computing-services</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <directory>.</directory>
            <outputDirectory>.</outputDirectory>
            <useDefaultExcludes>true</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>**/service-dist/**</exclude>
              <exclude>dependency-reduced-pom.xml</exclude>
              <exclude>**/*.dat</exclude>
            </excludes>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.apache.mnemonic:mnemonic-utilities-service</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <directory>.</directory>
            <outputDirectory>.</outputDirectory>
            <useDefaultExcludes>true</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>**/native/build/**</exclude>
              <exclude>**/native/dist/**</exclude>
              <exclude>dependency-reduced-pom.xml</exclude>
              <exclude>**/*.dat</exclude>
            </excludes>
          </fileSet>
        </fileSets>
        <outputDirectoryMapping>mnemonic-computing-services/${module.artifactId}</outputDirectoryMapping>
      </sources>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.apache.mnemonic:mnemonic-benches</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <directory>.</directory>
            <outputDirectory>.</outputDirectory>
            <useDefaultExcludes>true</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>dependency-reduced-pom.xml</exclude>
              <exclude>**/*.dat</exclude>
            </excludes>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.apache.mnemonic:mnemonic-sort-bench</include>
        <include>org.apache.mnemonic:mnemonic-spark-kmeans-bench</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <directory>.</directory>
            <outputDirectory>.</outputDirectory>
            <useDefaultExcludes>true</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>dependency-reduced-pom.xml</exclude>
              <exclude>**/*.dat</exclude>
            </excludes>
          </fileSet>
        </fileSets>
        <outputDirectoryMapping>mnemonic-benches/${module.artifactId}</outputDirectoryMapping>
      </sources>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.apache.mnemonic:mnemonic-hadoop</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <directory>.</directory>
            <outputDirectory>.</outputDirectory>
            <useDefaultExcludes>true</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>dependency-reduced-pom.xml</exclude>
              <exclude>**/*.dat</exclude>
            </excludes>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.apache.mnemonic:mnemonic-hadoop-mapreduce</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <directory>.</directory>
            <outputDirectory>.</outputDirectory>
            <useDefaultExcludes>true</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>dependency-reduced-pom.xml</exclude>
              <exclude>**/*.dat</exclude>
            </excludes>
          </fileSet>
        </fileSets>
        <outputDirectoryMapping>mnemonic-hadoop/${module.artifactId}</outputDirectoryMapping>
      </sources>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.apache.mnemonic:mnemonic-spark</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <directory>.</directory>
            <outputDirectory>.</outputDirectory>
            <useDefaultExcludes>true</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>dependency-reduced-pom.xml</exclude>
              <exclude>**/*.dat</exclude>
              <exclude>**/*.mne</exclude>
            </excludes>
          </fileSet>
        </fileSets>
      </sources>
    </moduleSet>
    <moduleSet>
      <includes>
        <include>org.apache.mnemonic:mnemonic-spark-core</include>
      </includes>
      <sources>
        <fileSets>
          <fileSet>
            <directory>.</directory>
            <outputDirectory>.</outputDirectory>
            <useDefaultExcludes>true</useDefaultExcludes>
            <excludes>
              <exclude>**/target/**</exclude>
              <exclude>dependency-reduced-pom.xml</exclude>
              <exclude>**/*.dat</exclude>
              <exclude>**/*.mne</exclude>
            </excludes>
          </fileSet>
        </fileSets>
        <outputDirectoryMapping>mnemonic-spark/${module.artifactId}</outputDirectoryMapping>
      </sources>
    </moduleSet>
  </moduleSets>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <includes>
        <include>README*</include>
        <include>LICENSE*</include>
        <include>NOTICE*</include>
        <include>DISCLAIMER*</include>
        <include>KEYS</include>
        <include>pom.xml</include>
        <include>bin/**</include>
        <include>docker/**</include>
      </includes>
      <useDefaultExcludes>true</useDefaultExcludes>
    </fileSet>
  </fileSets>
</assembly>

