<?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/2.1.0"
  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-2.1.0.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-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-redis-service</include>
        <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>
        <include>org.apache.mnemonic:mnemonic-pmdk-vmem-service</include>
        <include>org.apache.mnemonic:mnemonic-pmdk-pmem-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>tools/**</include>
        <include>docker/**</include>
        <include>settings.gradle</include>
        <include>build.gradle</include>
      </includes>
      <useDefaultExcludes>true</useDefaultExcludes>
    </fileSet>
  </fileSets>
</assembly>
