You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mnemonic.apache.org by ga...@apache.org on 2017/07/04 19:35:29 UTC

incubator-mnemonic git commit: MNEMONIC-175 Rename the build-tools directory to bin

Repository: incubator-mnemonic
Updated Branches:
  refs/heads/master 6a401d61c -> 2c82bdb53


MNEMONIC-175 Rename the build-tools directory to bin


Project: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/commit/2c82bdb5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/tree/2c82bdb5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/diff/2c82bdb5

Branch: refs/heads/master
Commit: 2c82bdb531c58aef6c8d32eda7358ba9fe0c261c
Parents: 6a401d6
Author: Yanhui Zhao <ya...@outlook.com>
Authored: Mon Jul 3 18:52:20 2017 -0700
Committer: Yanhui Zhao <ya...@outlook.com>
Committed: Mon Jul 3 18:52:20 2017 -0700

----------------------------------------------------------------------
 bin/bundle.sh                       |  56 +++++++
 bin/find-mnemonic-home.sh           |  23 +++
 bin/mnemonic-checkstyle.xml         | 169 +++++++++++++++++++
 bin/release.sh                      | 149 ++++++++++++++++
 bin/runTestCases.py                 |  48 ++++++
 bin/runall.sh                       |  86 ++++++++++
 bin/source-assembly.xml             | 280 +++++++++++++++++++++++++++++++
 bin/suppressions.xml                |  28 ++++
 bin/test.conf                       |  75 +++++++++
 build-tools/bundle.sh               |  56 -------
 build-tools/find-mnemonic-home.sh   |  23 ---
 build-tools/mnemonic-checkstyle.xml | 169 -------------------
 build-tools/release.sh              | 149 ----------------
 build-tools/runTestCases.py         |  48 ------
 build-tools/runall.sh               |  86 ----------
 build-tools/source-assembly.xml     | 280 -------------------------------
 build-tools/suppressions.xml        |  28 ----
 build-tools/test.conf               |  75 ---------
 docker/docker-CentOS/Dockerfile     |   2 +-
 docker/docker-Ubuntu/Dockerfile     |   2 +-
 pom.xml                             |  14 +-
 21 files changed, 923 insertions(+), 923 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/bin/bundle.sh
----------------------------------------------------------------------
diff --git a/bin/bundle.sh b/bin/bundle.sh
new file mode 100755
index 0000000..cd90768
--- /dev/null
+++ b/bin/bundle.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+#
+# 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.
+#
+
+if [ -z "${MNEMONIC_HOME}" ]; then
+  source "$(dirname "$0")/find-mnemonic-home.sh" || { echo "Not found find-mnemonic-home.sh script."; exit 10; }
+fi
+pushd "$MNEMONIC_HOME" || { echo "the environment variable \$MNEMONIC_HOME contains invalid home directory of Mnemonic project."; exit 11; }
+
+bundle_path="./target/bundle_tmp"
+bundle_name="./target/bundle.jar"
+
+excluded_modules_arr=(mnemonic-utilities-service* mnemonic-nvml-pmem-service* mnemonic-nvml-vmem-service* mnemonic-pmalloc-service*)
+
+[[ x"${bundle_path}" = x"./target/"* ]] || ( echo "The bundle tmp path must begin with ./target/"; exit 20 )
+mkdir -p ${bundle_path} || rm -f ${bundle_path}/*
+bn_arr=($(find . ! -path "${bundle_path}/*" -type f -name "*.pom.asc" -exec basename {} .pom.asc \; | xargs))
+for del in ${excluded_modules_arr[@]}
+do
+  bn_arr=(${bn_arr[@]/$del})
+done
+if [ ${#bn_arr[@]} -eq 0 ]; then
+  echo "No found any signed submodules to be bundled !"
+else
+  echo "There are ${#bn_arr[@]} submodules to be bundled."
+fi
+rm -f ${bundle_path}/*
+for i in ${bn_arr[@]}
+do 
+  echo "Module -> " $i
+  find . ! -path "${bundle_path}/*" -type f \( -name "$i.pom" -o -name "$i.jar" -o -name "$i-javadoc.jar" -o -name "$i-sources.jar" \) -exec cp {} ${bundle_path} \;
+  find . ! -path "${bundle_path}/*" -type f \( -name "$i.pom.asc" -o -name "$i.jar.asc" -o -name "$i-javadoc.jar.asc" -o -name "$i-sources.jar.asc" \) -exec cp {} ${bundle_path} \;
+done
+cntf=($(ls -1 ${bundle_path} | xargs)); echo "There are ${#cntf[@]} files will be packed into a bundle."
+rm -f ${bundle_name}
+jar cf ${bundle_name} -C ${bundle_path} .
+echo "The bundle has been generated as follows."
+ls -1 ${bundle_name}
+
+popd
+

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/bin/find-mnemonic-home.sh
----------------------------------------------------------------------
diff --git a/bin/find-mnemonic-home.sh b/bin/find-mnemonic-home.sh
new file mode 100755
index 0000000..eb95c8a
--- /dev/null
+++ b/bin/find-mnemonic-home.sh
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+
+#
+# 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.
+#
+
+if [ -z "${MNEMONIC_HOME}" ]; then
+  export MNEMONIC_HOME="$(cd "$(dirname "$0")"/..; pwd)"
+fi
+

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/bin/mnemonic-checkstyle.xml
----------------------------------------------------------------------
diff --git a/bin/mnemonic-checkstyle.xml b/bin/mnemonic-checkstyle.xml
new file mode 100644
index 0000000..9beccb4
--- /dev/null
+++ b/bin/mnemonic-checkstyle.xml
@@ -0,0 +1,169 @@
+<?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.
+-->
+
+<!DOCTYPE module PUBLIC
+    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+
+<module name="Checker">
+
+    <!-- Checks that property files contain the same keys.         -->
+    <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
+    <module name="Translation"/>
+
+    <module name="FileLength"/>
+
+    <!-- All source files should end with a unix-style end of line. -->
+    <module name="NewlineAtEndOfFile">
+        <!--
+             Use unix style newlines. When set, the checker ensures the last byte in the file is \n.
+        -->
+        <property name="lineSeparator" value="lf"/>
+    </module>
+
+    <!-- Following interprets the header file as regular expressions. -->
+    <!-- <module name="RegexpHeader"/>                                -->
+
+    <module name="FileTabCharacter">
+        <property name="eachLine" value="true"/>
+    </module>
+
+    <module name="RegexpSingleline">
+        <!-- \s matches whitespace character, $ matches end of line. -->
+        <property name="format" value="^[^\s][^\*].*\s+$"/>
+        <property name="message" value="Line has trailing spaces."/>
+    </module>
+
+    <module name="TreeWalker">
+
+        <!-- required for SuppressWarningsFilter (and other Suppress* rules not used here) -->
+        <!-- see http://checkstyle.sourceforge.net/config_annotation.html#SuppressWarningsHolder -->
+        <module name="SuppressWarningsHolder"/>
+
+
+        <!-- Checks for Naming Conventions.                  -->
+        <!-- See http://checkstyle.sf.net/config_naming.html -->
+        <module name="ConstantName"/>
+        <module name="LocalFinalVariableName"/>
+        <module name="LocalVariableName">
+          <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
+        </module>
+        <module name="MemberName">
+          <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
+        </module>
+        <module name="MethodName"/>
+        <module name="PackageName"/>
+        <module name="ParameterName"/>
+        <module name="StaticVariableName">
+          <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
+        </module>
+        <module name="TypeName"/>
+
+
+        <!-- Checks for imports                              -->
+        <!-- See http://checkstyle.sf.net/config_import.html -->
+        <module name="AvoidStarImport"/>
+        <!-- <module name="IllegalImport"/> --> <!-- defaults to sun.* packages -->
+        <module name="RedundantImport"/>
+        <module name="UnusedImports"/>
+
+
+        <!-- Checks for Size Violations.                    -->
+        <!-- See http://checkstyle.sf.net/config_sizes.html -->
+        <module name="LineLength">
+            <property name="max" value="120"/>
+            <property name="ignorePattern" value="^ *\* *"/>
+        </module>
+        <module name="MethodLength">
+            <property name="max" value="200"/>
+        </module>
+        <module name="ParameterNumber">
+            <property name="max" value="8"/>
+        </module>
+
+
+        <!-- Checks for whitespace                               -->
+        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+        <module name="EmptyForIteratorPad"/>
+        <module name="MethodParamPad"/>
+        <module name="NoWhitespaceAfter"/>
+        <module name="NoWhitespaceBefore"/>
+        <module name="OperatorWrap"/>
+        <module name="ParenPad"/>
+        <module name="TypecastParenPad"/>
+        <module name="WhitespaceAfter">
+            <property name="tokens" value="COMMA, SEMI"/>
+        </module>
+        <module name="WhitespaceAround"/>
+
+
+        <!-- Modifier Checks                                    -->
+        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+        <module name="ModifierOrder"/>
+        <module name="RedundantModifier"/>
+
+
+        <!-- Checks for blocks. You know, those {}'s         -->
+        <!-- See http://checkstyle.sf.net/config_blocks.html -->
+        <module name="AvoidNestedBlocks"/>
+        <module name="EmptyBlock"/>
+        <module name="LeftCurly"/>
+        <module name="NeedBraces"/>
+        <module name="RightCurly"/>
+
+
+        <!-- Checks for common coding problems               -->
+        <!-- See http://checkstyle.sf.net/config_coding.html -->
+        <!-- module name="AvoidInlineConditionals"/ -->
+        <module name="EmptyStatement"/>
+        <module name="EqualsHashCode"/>
+        <module name="IllegalInstantiation"/>
+
+
+        <!-- Checks for class design                         -->
+        <!-- See http://checkstyle.sf.net/config_design.html -->
+        <module name="FinalClass"/>
+        <module name="InterfaceIsType"/>
+
+
+        <!-- Miscellaneous other checks.                   -->
+        <!-- See http://checkstyle.sf.net/config_misc.html -->
+        <!-- <module name="ArrayTypeStyle"/> -->
+        <module name="UpperEll"/>
+
+        <module name="FileContentsHolder"/>
+
+    </module>
+
+    <!-- Support @SuppressWarnings (added in Checkstyle 5.7) -->
+    <!-- see http://checkstyle.sourceforge.net/config.html#SuppressWarningsFilter -->
+    <module name="SuppressWarningsFilter"/>
+
+    <!-- Checks properties file for a duplicated properties. -->
+    <!-- See http://checkstyle.sourceforge.net/config_misc.html#UniqueProperties -->
+    <module name="UniqueProperties"/>
+
+    <module name="SuppressionCommentFilter"/>
+
+    <module name="SuppressionFilter">
+      <property name="file" value="bin/suppressions.xml"/>
+    </module>
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/bin/release.sh
----------------------------------------------------------------------
diff --git a/bin/release.sh b/bin/release.sh
new file mode 100755
index 0000000..08a7f40
--- /dev/null
+++ b/bin/release.sh
@@ -0,0 +1,149 @@
+#!/bin/bash
+
+#
+# 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.
+#
+
+usage(){
+    echo "Usage: $0 Release_Version Next_Release_Version Candidate_Id"
+    echo "e.g. $0 0.2.0 0.2.0 rc2"
+    echo "     $0 0.2.0 0.2.1 rc3"
+    exit 1
+}
+
+continueprompt() {
+    while true; do
+	read -p "Do you wish to continue [y/n] ? " yn
+	case $yn in
+	    [Yy]* ) break;;
+	    [Nn]* ) exit 2;;
+	    * ) echo "Please answer yes or no.";;
+	    esac
+	done
+}
+
+if [ -z "${MNEMONIC_HOME}" ]; then
+  source "$(dirname "$0")/find-mnemonic-home.sh" || { echo "Not found find-mnemonic-home.sh script."; exit 10; }
+fi
+pushd "$MNEMONIC_HOME" || { echo "the environment variable \$MNEMONIC_HOME contains invalid home directory of Mnemonic project."; exit 11; }
+
+[[ -n "$(git status --porcelain)" ]] &&
+    echo "please commit all changes first." && exit 20
+
+[[ $# -ne 3 ]]  && usage
+
+RELEASE_VERSION="$1"
+NEXT_RELEASE_VERSION="$2"
+RELEASE_CANDIDATE_ID="$3"
+IS_SAME_VERSION=false
+
+echo "You have specified:"
+echo "RELEASE_VERSION = ${RELEASE_VERSION}"
+echo "NEXT_RELEASE_VERSION = ${NEXT_RELEASE_VERSION}"
+echo "RELEASE_CANDIDATE_ID = ${RELEASE_CANDIDATE_ID}"
+echo "NOTE: Please ensure there are no uncommitted or untracked files in your local workplace/repo. before continue"
+continueprompt
+
+git checkout master
+
+if [ "${RELEASE_VERSION}" == "${NEXT_RELEASE_VERSION}" ]; then
+    IS_SAME_VERSION=true
+    echo "You are trying to prepare a same version candidate so going to clean up existing branch <branch-${RELEASE_VERSION}> and tag <v${RELEASE_VERSION}-incubating> if exists"
+    continueprompt
+    git branch -d branch-${RELEASE_VERSION}
+    if [ $? -ne 0 ]; then
+      echo "Request to forcedly delete existing branch <branch-${RELEASE_VERSION}> in case of not fully merged"
+      continueprompt
+      git branch -D branch-${RELEASE_VERSION}
+    fi
+    git push upstream --delete branch-${RELEASE_VERSION}
+    git tag -d v${RELEASE_VERSION}-incubating
+    git push upstream --delete v${RELEASE_VERSION}-incubating
+fi
+
+echo "Preparing to create a branch branch-${RELEASE_VERSION} for release"
+continueprompt
+
+git checkout -b branch-${RELEASE_VERSION} || { echo "Create branch failed"; exit 30; }
+
+mvn versions:set -DgenerateBackupPoms=false -DnewVersion=${RELEASE_VERSION}-incubating
+git commit . -m "Prepare for releasing ${RELEASE_VERSION}-incubating ${RELEASE_CANDIDATE_ID}"
+
+git tag -s v${RELEASE_VERSION}-incubating -m "Release ${RELEASE_VERSION}-incubating ${RELEASE_CANDIDATE_ID}"
+
+rm -rf target/
+git clean -xdf
+
+mvn clean prepare-package -DskipTests -Dremoteresources.skip=true &&
+mvn prepare-package -DskipTests -Dremoteresources.skip=true &&
+mvn deploy -DskipTests -Dremoteresources.skip=true -P apache-release || { echo "Preparation failed"; exit 40; }
+
+RELEASEBASENAME=apache-mnemonic-${RELEASE_VERSION}-incubating
+RELEASESRCBASENAME=${RELEASEBASENAME}-src
+RELEASESRCPKGFULLNAME=${RELEASESRCBASENAME}.tar.gz
+
+pushd target || { echo "Artifacts not found"; exit 50; }
+md5sum ${RELEASESRCPKGFULLNAME} > ${RELEASESRCPKGFULLNAME}.md5 || { echo "Generate md5 failed"; exit 60; }
+shasum -a 512 ${RELEASESRCPKGFULLNAME} > ${RELEASESRCPKGFULLNAME}.sha512 || { echo "Generate sha failed"; exit 70; }
+popd
+
+echo "Verifying packaged Source Artifacts"
+rm -rf ${RELEASEBASENAME}/
+tar xzf target/${RELEASESRCPKGFULLNAME} || { echo "Failed to unpack the source artifact"; exit 80; }
+pushd ${RELEASEBASENAME} || { echo "Unpacked source directory does not exist"; exit 90; }
+mvn clean install || { echo "Failed to compile the packaged source artifact"; exit 100; }
+python bin/runTestCases.py || { echo "Failed to verify the packaged source artifact"; exit 110; }
+popd
+rm -rf ${RELEASEBASENAME}/
+
+echo "Prepared Artifacts:"
+echo `ls target/${RELEASESRCPKGFULLNAME}`
+echo `ls target/${RELEASESRCPKGFULLNAME}.asc`
+echo `ls target/${RELEASESRCPKGFULLNAME}.md5`
+echo `ls target/${RELEASESRCPKGFULLNAME}.sha512`
+echo "Please upload those artifacts to your stage repository now."
+continueprompt
+
+#---------------
+echo "Push release branch & label to upstream branch <branch-${RELEASE_VERSION}>."
+continueprompt
+
+git push upstream branch-${RELEASE_VERSION}
+git push upstream v${RELEASE_VERSION}-incubating
+
+echo "Merge release branch <branch-${RELEASE_VERSION}> to master & Commit next version <${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT>."
+continueprompt
+
+git checkout master
+git merge --no-ff branch-${RELEASE_VERSION}
+
+if [ "$IS_SAME_VERSION" = true ]; then
+  NEXT_RELEASE_VERSION_POM="${RELEASE_VERSION}-incubating-SNAPSHOT"
+  NEXT_RELEASE_VERSION_COMMIT="Version ${RELEASE_VERSION}-incubating ${RELEASE_CANDIDATE_ID}"
+else
+  NEXT_RELEASE_VERSION_POM="${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT"
+  NEXT_RELEASE_VERSION_COMMIT="Bump version to ${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT"
+fi
+mvn versions:set -DgenerateBackupPoms=false -DnewVersion="${NEXT_RELEASE_VERSION_POM}"
+git commit . -m "${NEXT_RELEASE_VERSION_COMMIT}"
+
+echo "Push release merge and new version to upstream."
+continueprompt
+
+git push upstream master
+
+popd
+

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/bin/runTestCases.py
----------------------------------------------------------------------
diff --git a/bin/runTestCases.py b/bin/runTestCases.py
new file mode 100755
index 0000000..4d3c95a
--- /dev/null
+++ b/bin/runTestCases.py
@@ -0,0 +1,48 @@
+#! /usr/bin/env python
+
+#
+# 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.
+#
+
+import re
+import subprocess
+import sys
+import os
+
+testLogDir = "testlog/"
+
+if not os.path.exists(testLogDir):
+    os.makedirs(testLogDir)
+
+testCmdFile = 'bin/test.conf'
+tcCmdReg = re.compile('^mvn\s.*$')
+tcNameReg = re.compile('-D(?:test|suites)=(.+?)\s')
+tcModuleReg = re.compile('-pl\s(.+?)\s')
+with open(testCmdFile) as fp:
+    for line in fp:
+        match = tcCmdReg.findall(line)
+        if match:
+            logFilePath = testLogDir + tcNameReg.findall(line)[0] + ".log"
+            print("[INFO] Running " + tcNameReg.findall(line)[0] + " test case for \"" + tcModuleReg.findall(line)[0] + "\"...")
+            try:
+                #maven build
+                subprocess.check_call(match[0] + ">" + logFilePath, stderr=subprocess.STDOUT, shell=True)
+                print("[SUCCESS] Test case " + tcNameReg.findall(line)[0] + " for \"" + tcModuleReg.findall(line)[0]+ "\" is completed!")
+            except subprocess.CalledProcessError as e:
+                print("[ERROR] This test case requires \"pmalloc\" memory service to pass, please check if \"pmalloc\" has been configured correctly! If \"pmalloc\" is installed, please refer to testlog/" + tcNameReg.findall(line)[0] + ".log for detailed information.")
+                sys.exit(1)
+print("[DONE] All test cases are completed! Log files are available under folder testlog!")
+

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/bin/runall.sh
----------------------------------------------------------------------
diff --git a/bin/runall.sh b/bin/runall.sh
new file mode 100755
index 0000000..f3d5afc
--- /dev/null
+++ b/bin/runall.sh
@@ -0,0 +1,86 @@
+#!/bin/bash
+
+#
+# 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.
+#
+ARGCONFIRMED=false
+
+while getopts ":y" opt; do
+  case $opt in
+    y)
+      ARGCONFIRMED=true
+      ;;
+    \?)
+      echo "Invalid option: -$OPTARG" >&2
+      ;;
+  esac
+done
+
+continueprompt() {
+    while true; do
+	read -p "$1 Do you wish to continue [y/n] ? " yn
+	case $yn in
+	    [Yy]* ) break;;
+	    [Nn]* ) exit 2;;
+	    * ) echo "Please answer yes or no.";;
+	    esac
+	done
+    return 0
+}
+
+if [ -z "${MNEMONIC_HOME}" ]; then
+  source "$(dirname "$0")/find-mnemonic-home.sh" || { echo "Not found find-mnemonic-home.sh script."; exit 10; }
+fi
+pushd "$MNEMONIC_HOME" || { echo "the environment variable \$MNEMONIC_HOME contains invalid home directory of Mnemonic project."; exit 11; }
+
+echo [INFO] Cleaning up and re-building...
+git ls-files --error-unmatch pom.xml > /dev/null 2>&1; rc=$?
+if [[ $rc == 0 ]]; then
+  if [[ "$ARGCONFIRMED" == "false" ]]; then
+    if [[ -n $(git status -s) ]]; then
+      echo "There are uncommitted or un-tracked files, please make sure it is clean or adding option -y to run."
+      exit 22
+    fi
+  fi
+  echo "Starting to clean unrelated files..."
+  git clean -xdf -e .idea/ -e "**/*.iml" -e .classpath -e .settings/ -e .project > /dev/null
+fi
+
+if [ ! -d "testlog" ]
+then
+mkdir testlog
+fi
+
+mvn clean package install > testlog/build.log
+if [ $? -gt 0 ]
+then
+echo [ERROR] Build failed, please check package dependency and refer to testlog/build.log for error messages.
+exit 1
+fi
+echo [SUCCESS] Build Success!
+
+echo [INFO] Running mnemonic example...
+mvn exec:exec -Pexample -pl mnemonic-examples > testlog/mnemonic-example.log
+if [ $? -gt 0 ]
+then
+echo [ERROR] This example requires \"vmem\" memory service to run, please check if \"vmem\" has been configured correctly! If \"vmem\" is installed, please refer to testlog/mnemonic-example.log for detailed information.
+exit 1
+fi
+echo [SUCCESS] Mnemonic example is completed!
+
+python bin/runTestCases.py
+
+popd

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/bin/source-assembly.xml
----------------------------------------------------------------------
diff --git a/bin/source-assembly.xml b/bin/source-assembly.xml
new file mode 100644
index 0000000..a7fde29
--- /dev/null
+++ b/bin/source-assembly.xml
@@ -0,0 +1,280 @@
+<?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>
+      </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>
+      </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>
+      </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>
+

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/bin/suppressions.xml
----------------------------------------------------------------------
diff --git a/bin/suppressions.xml b/bin/suppressions.xml
new file mode 100644
index 0000000..2292905
--- /dev/null
+++ b/bin/suppressions.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+
+<!--
+  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.
+-->
+
+<!DOCTYPE suppressions PUBLIC
+    "-//Puppy Crawl//DTD Suppressions 1.1//EN"
+    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
+
+<suppressions>
+    <suppress files="[\\/]generated-sources[\\/]" checks="[a-zA-Z0-9]*"/>
+</suppressions>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/bin/test.conf
----------------------------------------------------------------------
diff --git a/bin/test.conf b/bin/test.conf
new file mode 100644
index 0000000..bc5aa75
--- /dev/null
+++ b/bin/test.conf
@@ -0,0 +1,75 @@
+#
+# 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.
+#
+
+# a testcase for module "mnemonic-core" that requires 'pmalloc' memory service to pass
+mvn -Dtest=DurablePersonNGTest test -pl mnemonic-core -DskipTests=false
+
+# a testcase for module "mnemonic-core" that requires 'pmalloc' memory service to pass
+mvn -Dtest=NonVolatileMemAllocatorNGTest test -pl mnemonic-core -DskipTests=false
+
+# a testcase for module "mnemonic-core" that requires 'vmem' memory service to pass
+mvn -Dtest=VolatileMemAllocatorNGTest test -pl mnemonic-core -DskipTests=false
+
+# a testcase for module "mnemonic-core" that requires 'vmem memory service to pass
+mvn -Dtest=MemClusteringNGTest test -pl mnemonic-core -DskipTests=false
+
+mvn -Dtest=ChunkBufferNGTest test -pl mnemonic-core -DskipTests=false
+
+# a testcase for module "mnemonic-collection" that requires 'pmalloc' memory service to pass
+mvn -Dtest=DurableSinglyLinkedListNGTest  test -pl mnemonic-collections -DskipTests=false
+
+# a testcase for module "mnemonic-collection" that requires 'pmalloc' memory service to pass
+mvn -Dtest=DurablePersonNGTest  test -pl mnemonic-collections -DskipTests=false
+
+# a testcase for module "mnemonic-collection" that requires 'pmalloc' memory service to pass
+mvn -Dtest=DurableHashMapNGTest  test -pl mnemonic-collections -DskipTests=false
+
+# a testcase for module "mnemonic-collection" that requires 'pmalloc' memory service to pass
+mvn -Dtest=DurableArrayNGTest  test -pl mnemonic-collections -DskipTests=false
+
+# a testcase for module "mnemonic-collection" that requires 'pmalloc' memory service to pass
+mvn -Dtest=DurableTreeNGTest  test -pl mnemonic-collections -DskipTests=false
+
+# a testcase for module "mnemonic-computing-services/mnemonic-utilities-service" that requires 'pmalloc' memory service to pass
+mvn -Dtest=DurableSinglyLinkedListNGPrintTest test -pl mnemonic-computing-services/mnemonic-utilities-service -DskipTests=false
+
+# a testcase for module "mnemonic-computing-services/mnemonic-utilities-service" that requires 'pmalloc' memory service to pass
+mvn -Dtest=DurableSinglyLinkedListNGSortTest test -pl mnemonic-computing-services/mnemonic-utilities-service -DskipTests=false
+
+# a testcase for module "mnemonic-hadoop/mnemonic-hadoop-mapreduce" that requires 'pmalloc' memory service to pass
+mvn -Dtest=MneMapreducePersonDataTest test -pl mnemonic-hadoop/mnemonic-hadoop-mapreduce -DskipTests=false
+
+mvn -Dtest=MneMapreduceLongDataTest test -pl mnemonic-hadoop/mnemonic-hadoop-mapreduce -DskipTests=false
+
+mvn -Dtest=MneMapreduceBufferDataTest test -pl mnemonic-hadoop/mnemonic-hadoop-mapreduce -DskipTests=false
+
+mvn -Dtest=MneMapreduceChunkDataTest test -pl mnemonic-hadoop/mnemonic-hadoop-mapreduce -DskipTests=false
+
+# a testcase for module "mnemonic-hadoop/mnemonic-hadoop-mapreduce" that requires 'pmalloc' memory service to pass
+mvn -Dtest=MneMapredBufferDataTest test -pl mnemonic-hadoop/mnemonic-hadoop-mapreduce -DskipTests=false
+
+# a testcase for module "mnemonic-spark/mnemonic-spark-core" that requires 'pmalloc' memory service to pass
+mvn -Dsuites=org.apache.mnemonic.spark.rdd.DurableRDDLongDataSpec test -pl mnemonic-spark/mnemonic-spark-core -DskipTests=false
+
+mvn -Dsuites=org.apache.mnemonic.spark.rdd.DurableRDDChunkDataSpec test -pl mnemonic-spark/mnemonic-spark-core -DskipTests=false
+
+mvn -Dsuites=org.apache.mnemonic.spark.rdd.DurableRDDPersonDataSpec test -pl mnemonic-spark/mnemonic-spark-core -DskipTests=false
+
+mvn -Dsuites=org.apache.mnemonic.spark.rdd.DurableRDDBufferDataSpec test -pl mnemonic-spark/mnemonic-spark-core -DskipTests=false
+
+mvn -Dsuites=org.apache.mnemonic.spark.DurableBufferIODataSpec test -pl mnemonic-spark/mnemonic-spark-core -DskipTests=false
+

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/build-tools/bundle.sh
----------------------------------------------------------------------
diff --git a/build-tools/bundle.sh b/build-tools/bundle.sh
deleted file mode 100755
index cd90768..0000000
--- a/build-tools/bundle.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/bash
-
-#
-# 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.
-#
-
-if [ -z "${MNEMONIC_HOME}" ]; then
-  source "$(dirname "$0")/find-mnemonic-home.sh" || { echo "Not found find-mnemonic-home.sh script."; exit 10; }
-fi
-pushd "$MNEMONIC_HOME" || { echo "the environment variable \$MNEMONIC_HOME contains invalid home directory of Mnemonic project."; exit 11; }
-
-bundle_path="./target/bundle_tmp"
-bundle_name="./target/bundle.jar"
-
-excluded_modules_arr=(mnemonic-utilities-service* mnemonic-nvml-pmem-service* mnemonic-nvml-vmem-service* mnemonic-pmalloc-service*)
-
-[[ x"${bundle_path}" = x"./target/"* ]] || ( echo "The bundle tmp path must begin with ./target/"; exit 20 )
-mkdir -p ${bundle_path} || rm -f ${bundle_path}/*
-bn_arr=($(find . ! -path "${bundle_path}/*" -type f -name "*.pom.asc" -exec basename {} .pom.asc \; | xargs))
-for del in ${excluded_modules_arr[@]}
-do
-  bn_arr=(${bn_arr[@]/$del})
-done
-if [ ${#bn_arr[@]} -eq 0 ]; then
-  echo "No found any signed submodules to be bundled !"
-else
-  echo "There are ${#bn_arr[@]} submodules to be bundled."
-fi
-rm -f ${bundle_path}/*
-for i in ${bn_arr[@]}
-do 
-  echo "Module -> " $i
-  find . ! -path "${bundle_path}/*" -type f \( -name "$i.pom" -o -name "$i.jar" -o -name "$i-javadoc.jar" -o -name "$i-sources.jar" \) -exec cp {} ${bundle_path} \;
-  find . ! -path "${bundle_path}/*" -type f \( -name "$i.pom.asc" -o -name "$i.jar.asc" -o -name "$i-javadoc.jar.asc" -o -name "$i-sources.jar.asc" \) -exec cp {} ${bundle_path} \;
-done
-cntf=($(ls -1 ${bundle_path} | xargs)); echo "There are ${#cntf[@]} files will be packed into a bundle."
-rm -f ${bundle_name}
-jar cf ${bundle_name} -C ${bundle_path} .
-echo "The bundle has been generated as follows."
-ls -1 ${bundle_name}
-
-popd
-

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/build-tools/find-mnemonic-home.sh
----------------------------------------------------------------------
diff --git a/build-tools/find-mnemonic-home.sh b/build-tools/find-mnemonic-home.sh
deleted file mode 100755
index eb95c8a..0000000
--- a/build-tools/find-mnemonic-home.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env bash
-
-#
-# 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.
-#
-
-if [ -z "${MNEMONIC_HOME}" ]; then
-  export MNEMONIC_HOME="$(cd "$(dirname "$0")"/..; pwd)"
-fi
-

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/build-tools/mnemonic-checkstyle.xml
----------------------------------------------------------------------
diff --git a/build-tools/mnemonic-checkstyle.xml b/build-tools/mnemonic-checkstyle.xml
deleted file mode 100644
index 969f302..0000000
--- a/build-tools/mnemonic-checkstyle.xml
+++ /dev/null
@@ -1,169 +0,0 @@
-<?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.
--->
-
-<!DOCTYPE module PUBLIC
-    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
-    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
-
-<module name="Checker">
-
-    <!-- Checks that property files contain the same keys.         -->
-    <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
-    <module name="Translation"/>
-
-    <module name="FileLength"/>
-
-    <!-- All source files should end with a unix-style end of line. -->
-    <module name="NewlineAtEndOfFile">
-        <!--
-             Use unix style newlines. When set, the checker ensures the last byte in the file is \n.
-        -->
-        <property name="lineSeparator" value="lf"/>
-    </module>
-
-    <!-- Following interprets the header file as regular expressions. -->
-    <!-- <module name="RegexpHeader"/>                                -->
-
-    <module name="FileTabCharacter">
-        <property name="eachLine" value="true"/>
-    </module>
-
-    <module name="RegexpSingleline">
-        <!-- \s matches whitespace character, $ matches end of line. -->
-        <property name="format" value="^[^\s][^\*].*\s+$"/>
-        <property name="message" value="Line has trailing spaces."/>
-    </module>
-
-    <module name="TreeWalker">
-
-        <!-- required for SuppressWarningsFilter (and other Suppress* rules not used here) -->
-        <!-- see http://checkstyle.sourceforge.net/config_annotation.html#SuppressWarningsHolder -->
-        <module name="SuppressWarningsHolder"/>
-
-
-        <!-- Checks for Naming Conventions.                  -->
-        <!-- See http://checkstyle.sf.net/config_naming.html -->
-        <module name="ConstantName"/>
-        <module name="LocalFinalVariableName"/>
-        <module name="LocalVariableName">
-          <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
-        </module>
-        <module name="MemberName">
-          <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
-        </module>
-        <module name="MethodName"/>
-        <module name="PackageName"/>
-        <module name="ParameterName"/>
-        <module name="StaticVariableName">
-          <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
-        </module>
-        <module name="TypeName"/>
-
-
-        <!-- Checks for imports                              -->
-        <!-- See http://checkstyle.sf.net/config_import.html -->
-        <module name="AvoidStarImport"/>
-        <!-- <module name="IllegalImport"/> --> <!-- defaults to sun.* packages -->
-        <module name="RedundantImport"/>
-        <module name="UnusedImports"/>
-
-
-        <!-- Checks for Size Violations.                    -->
-        <!-- See http://checkstyle.sf.net/config_sizes.html -->
-        <module name="LineLength">
-            <property name="max" value="120"/>
-            <property name="ignorePattern" value="^ *\* *"/>
-        </module>
-        <module name="MethodLength">
-            <property name="max" value="200"/>
-        </module>
-        <module name="ParameterNumber">
-            <property name="max" value="8"/>
-        </module>
-
-
-        <!-- Checks for whitespace                               -->
-        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
-        <module name="EmptyForIteratorPad"/>
-        <module name="MethodParamPad"/>
-        <module name="NoWhitespaceAfter"/>
-        <module name="NoWhitespaceBefore"/>
-        <module name="OperatorWrap"/>
-        <module name="ParenPad"/>
-        <module name="TypecastParenPad"/>
-        <module name="WhitespaceAfter">
-            <property name="tokens" value="COMMA, SEMI"/>
-        </module>
-        <module name="WhitespaceAround"/>
-
-
-        <!-- Modifier Checks                                    -->
-        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
-        <module name="ModifierOrder"/>
-        <module name="RedundantModifier"/>
-
-
-        <!-- Checks for blocks. You know, those {}'s         -->
-        <!-- See http://checkstyle.sf.net/config_blocks.html -->
-        <module name="AvoidNestedBlocks"/>
-        <module name="EmptyBlock"/>
-        <module name="LeftCurly"/>
-        <module name="NeedBraces"/>
-        <module name="RightCurly"/>
-
-
-        <!-- Checks for common coding problems               -->
-        <!-- See http://checkstyle.sf.net/config_coding.html -->
-        <!-- module name="AvoidInlineConditionals"/ -->
-        <module name="EmptyStatement"/>
-        <module name="EqualsHashCode"/>
-        <module name="IllegalInstantiation"/>
-
-
-        <!-- Checks for class design                         -->
-        <!-- See http://checkstyle.sf.net/config_design.html -->
-        <module name="FinalClass"/>
-        <module name="InterfaceIsType"/>
-
-
-        <!-- Miscellaneous other checks.                   -->
-        <!-- See http://checkstyle.sf.net/config_misc.html -->
-        <!-- <module name="ArrayTypeStyle"/> -->
-        <module name="UpperEll"/>
-
-        <module name="FileContentsHolder"/>
-
-    </module>
-
-    <!-- Support @SuppressWarnings (added in Checkstyle 5.7) -->
-    <!-- see http://checkstyle.sourceforge.net/config.html#SuppressWarningsFilter -->
-    <module name="SuppressWarningsFilter"/>
-
-    <!-- Checks properties file for a duplicated properties. -->
-    <!-- See http://checkstyle.sourceforge.net/config_misc.html#UniqueProperties -->
-    <module name="UniqueProperties"/>
-
-    <module name="SuppressionCommentFilter"/>
-
-    <module name="SuppressionFilter">
-      <property name="file" value="build-tools/suppressions.xml"/>
-    </module>
-</module>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/build-tools/release.sh
----------------------------------------------------------------------
diff --git a/build-tools/release.sh b/build-tools/release.sh
deleted file mode 100755
index 07c3984..0000000
--- a/build-tools/release.sh
+++ /dev/null
@@ -1,149 +0,0 @@
-#!/bin/bash
-
-#
-# 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.
-#
-
-usage(){
-    echo "Usage: $0 Release_Version Next_Release_Version Candidate_Id"
-    echo "e.g. $0 0.2.0 0.2.0 rc2"
-    echo "     $0 0.2.0 0.2.1 rc3"
-    exit 1
-}
-
-continueprompt() {
-    while true; do
-	read -p "Do you wish to continue [y/n] ? " yn
-	case $yn in
-	    [Yy]* ) break;;
-	    [Nn]* ) exit 2;;
-	    * ) echo "Please answer yes or no.";;
-	    esac
-	done
-}
-
-if [ -z "${MNEMONIC_HOME}" ]; then
-  source "$(dirname "$0")/find-mnemonic-home.sh" || { echo "Not found find-mnemonic-home.sh script."; exit 10; }
-fi
-pushd "$MNEMONIC_HOME" || { echo "the environment variable \$MNEMONIC_HOME contains invalid home directory of Mnemonic project."; exit 11; }
-
-[[ -n "$(git status --porcelain)" ]] &&
-    echo "please commit all changes first." && exit 20
-
-[[ $# -ne 3 ]]  && usage
-
-RELEASE_VERSION="$1"
-NEXT_RELEASE_VERSION="$2"
-RELEASE_CANDIDATE_ID="$3"
-IS_SAME_VERSION=false
-
-echo "You have specified:"
-echo "RELEASE_VERSION = ${RELEASE_VERSION}"
-echo "NEXT_RELEASE_VERSION = ${NEXT_RELEASE_VERSION}"
-echo "RELEASE_CANDIDATE_ID = ${RELEASE_CANDIDATE_ID}"
-echo "NOTE: Please ensure there are no uncommitted or untracked files in your local workplace/repo. before continue"
-continueprompt
-
-git checkout master
-
-if [ "${RELEASE_VERSION}" == "${NEXT_RELEASE_VERSION}" ]; then
-    IS_SAME_VERSION=true
-    echo "You are trying to prepare a same version candidate so going to clean up existing branch <branch-${RELEASE_VERSION}> and tag <v${RELEASE_VERSION}-incubating> if exists"
-    continueprompt
-    git branch -d branch-${RELEASE_VERSION}
-    if [ $? -ne 0 ]; then
-      echo "Request to forcedly delete existing branch <branch-${RELEASE_VERSION}> in case of not fully merged"
-      continueprompt
-      git branch -D branch-${RELEASE_VERSION}
-    fi
-    git push upstream --delete branch-${RELEASE_VERSION}
-    git tag -d v${RELEASE_VERSION}-incubating
-    git push upstream --delete v${RELEASE_VERSION}-incubating
-fi
-
-echo "Preparing to create a branch branch-${RELEASE_VERSION} for release"
-continueprompt
-
-git checkout -b branch-${RELEASE_VERSION} || { echo "Create branch failed"; exit 30; }
-
-mvn versions:set -DgenerateBackupPoms=false -DnewVersion=${RELEASE_VERSION}-incubating
-git commit . -m "Prepare for releasing ${RELEASE_VERSION}-incubating ${RELEASE_CANDIDATE_ID}"
-
-git tag -s v${RELEASE_VERSION}-incubating -m "Release ${RELEASE_VERSION}-incubating ${RELEASE_CANDIDATE_ID}"
-
-rm -rf target/
-git clean -xdf
-
-mvn clean prepare-package -DskipTests -Dremoteresources.skip=true &&
-mvn prepare-package -DskipTests -Dremoteresources.skip=true &&
-mvn deploy -DskipTests -Dremoteresources.skip=true -P apache-release || { echo "Preparation failed"; exit 40; }
-
-RELEASEBASENAME=apache-mnemonic-${RELEASE_VERSION}-incubating
-RELEASESRCBASENAME=${RELEASEBASENAME}-src
-RELEASESRCPKGFULLNAME=${RELEASESRCBASENAME}.tar.gz
-
-pushd target || { echo "Artifacts not found"; exit 50; }
-md5sum ${RELEASESRCPKGFULLNAME} > ${RELEASESRCPKGFULLNAME}.md5 || { echo "Generate md5 failed"; exit 60; }
-shasum -a 512 ${RELEASESRCPKGFULLNAME} > ${RELEASESRCPKGFULLNAME}.sha512 || { echo "Generate sha failed"; exit 70; }
-popd
-
-echo "Verifying packaged Source Artifacts"
-rm -rf ${RELEASEBASENAME}/
-tar xzf target/${RELEASESRCPKGFULLNAME} || { echo "Failed to unpack the source artifact"; exit 80; }
-pushd ${RELEASEBASENAME} || { echo "Unpacked source directory does not exist"; exit 90; }
-mvn clean install || { echo "Failed to compile the packaged source artifact"; exit 100; }
-python build-tools/runTestCases.py || { echo "Failed to verify the packaged source artifact"; exit 110; }
-popd
-rm -rf ${RELEASEBASENAME}/
-
-echo "Prepared Artifacts:"
-echo `ls target/${RELEASESRCPKGFULLNAME}`
-echo `ls target/${RELEASESRCPKGFULLNAME}.asc`
-echo `ls target/${RELEASESRCPKGFULLNAME}.md5`
-echo `ls target/${RELEASESRCPKGFULLNAME}.sha512`
-echo "Please upload those artifacts to your stage repository now."
-continueprompt
-
-#---------------
-echo "Push release branch & label to upstream branch <branch-${RELEASE_VERSION}>."
-continueprompt
-
-git push upstream branch-${RELEASE_VERSION}
-git push upstream v${RELEASE_VERSION}-incubating
-
-echo "Merge release branch <branch-${RELEASE_VERSION}> to master & Commit next version <${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT>."
-continueprompt
-
-git checkout master
-git merge --no-ff branch-${RELEASE_VERSION}
-
-if [ "$IS_SAME_VERSION" = true ]; then
-  NEXT_RELEASE_VERSION_POM="${RELEASE_VERSION}-incubating-SNAPSHOT"
-  NEXT_RELEASE_VERSION_COMMIT="Version ${RELEASE_VERSION}-incubating ${RELEASE_CANDIDATE_ID}"
-else
-  NEXT_RELEASE_VERSION_POM="${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT"
-  NEXT_RELEASE_VERSION_COMMIT="Bump version to ${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT"
-fi
-mvn versions:set -DgenerateBackupPoms=false -DnewVersion="${NEXT_RELEASE_VERSION_POM}"
-git commit . -m "${NEXT_RELEASE_VERSION_COMMIT}"
-
-echo "Push release merge and new version to upstream."
-continueprompt
-
-git push upstream master
-
-popd
-

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/build-tools/runTestCases.py
----------------------------------------------------------------------
diff --git a/build-tools/runTestCases.py b/build-tools/runTestCases.py
deleted file mode 100755
index ca39dcf..0000000
--- a/build-tools/runTestCases.py
+++ /dev/null
@@ -1,48 +0,0 @@
-#! /usr/bin/env python
-
-#
-# 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.
-#
-
-import re
-import subprocess
-import sys
-import os
-
-testLogDir = "testlog/"
-
-if not os.path.exists(testLogDir):
-    os.makedirs(testLogDir)
-
-testCmdFile = 'build-tools/test.conf'
-tcCmdReg = re.compile('^mvn\s.*$')
-tcNameReg = re.compile('-D(?:test|suites)=(.+?)\s')
-tcModuleReg = re.compile('-pl\s(.+?)\s')
-with open(testCmdFile) as fp:
-    for line in fp:
-        match = tcCmdReg.findall(line)
-        if match:
-            logFilePath = testLogDir + tcNameReg.findall(line)[0] + ".log"
-            print("[INFO] Running " + tcNameReg.findall(line)[0] + " test case for \"" + tcModuleReg.findall(line)[0] + "\"...")
-            try:
-                #maven build
-                subprocess.check_call(match[0] + ">" + logFilePath, stderr=subprocess.STDOUT, shell=True)
-                print("[SUCCESS] Test case " + tcNameReg.findall(line)[0] + " for \"" + tcModuleReg.findall(line)[0]+ "\" is completed!")
-            except subprocess.CalledProcessError as e:
-                print("[ERROR] This test case requires \"pmalloc\" memory service to pass, please check if \"pmalloc\" has been configured correctly! If \"pmalloc\" is installed, please refer to testlog/" + tcNameReg.findall(line)[0] + ".log for detailed information.")
-                sys.exit(1)
-print("[DONE] All test cases are completed! Log files are available under folder testlog!")
-

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/build-tools/runall.sh
----------------------------------------------------------------------
diff --git a/build-tools/runall.sh b/build-tools/runall.sh
deleted file mode 100755
index 3aeb241..0000000
--- a/build-tools/runall.sh
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/bash
-
-#
-# 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.
-#
-ARGCONFIRMED=false
-
-while getopts ":y" opt; do
-  case $opt in
-    y)
-      ARGCONFIRMED=true
-      ;;
-    \?)
-      echo "Invalid option: -$OPTARG" >&2
-      ;;
-  esac
-done
-
-continueprompt() {
-    while true; do
-	read -p "$1 Do you wish to continue [y/n] ? " yn
-	case $yn in
-	    [Yy]* ) break;;
-	    [Nn]* ) exit 2;;
-	    * ) echo "Please answer yes or no.";;
-	    esac
-	done
-    return 0
-}
-
-if [ -z "${MNEMONIC_HOME}" ]; then
-  source "$(dirname "$0")/find-mnemonic-home.sh" || { echo "Not found find-mnemonic-home.sh script."; exit 10; }
-fi
-pushd "$MNEMONIC_HOME" || { echo "the environment variable \$MNEMONIC_HOME contains invalid home directory of Mnemonic project."; exit 11; }
-
-echo [INFO] Cleaning up and re-building...
-git ls-files --error-unmatch pom.xml > /dev/null 2>&1; rc=$?
-if [[ $rc == 0 ]]; then
-  if [[ "$ARGCONFIRMED" == "false" ]]; then
-    if [[ -n $(git status -s) ]]; then
-      echo "There are uncommitted or un-tracked files, please make sure it is clean or adding option -y to run."
-      exit 22
-    fi
-  fi
-  echo "Starting to clean unrelated files..."
-  git clean -xdf -e .idea/ -e "**/*.iml" -e .classpath -e .settings/ -e .project > /dev/null
-fi
-
-if [ ! -d "testlog" ]
-then
-mkdir testlog
-fi
-
-mvn clean package install > testlog/build.log
-if [ $? -gt 0 ]
-then
-echo [ERROR] Build failed, please check package dependency and refer to testlog/build.log for error messages.
-exit 1
-fi
-echo [SUCCESS] Build Success!
-
-echo [INFO] Running mnemonic example...
-mvn exec:exec -Pexample -pl mnemonic-examples > testlog/mnemonic-example.log
-if [ $? -gt 0 ]
-then
-echo [ERROR] This example requires \"vmem\" memory service to run, please check if \"vmem\" has been configured correctly! If \"vmem\" is installed, please refer to testlog/mnemonic-example.log for detailed information.
-exit 1
-fi
-echo [SUCCESS] Mnemonic example is completed!
-
-python build-tools/runTestCases.py
-
-popd

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/build-tools/source-assembly.xml
----------------------------------------------------------------------
diff --git a/build-tools/source-assembly.xml b/build-tools/source-assembly.xml
deleted file mode 100644
index d8331fd..0000000
--- a/build-tools/source-assembly.xml
+++ /dev/null
@@ -1,280 +0,0 @@
-<?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>
-      </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>
-      </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>
-      </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>build-tools/**</include>
-        <include>docker/**</include>
-      </includes>
-      <useDefaultExcludes>true</useDefaultExcludes>
-    </fileSet>
-  </fileSets>
-</assembly>
-

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/build-tools/suppressions.xml
----------------------------------------------------------------------
diff --git a/build-tools/suppressions.xml b/build-tools/suppressions.xml
deleted file mode 100644
index 2292905..0000000
--- a/build-tools/suppressions.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  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.
--->
-
-<!DOCTYPE suppressions PUBLIC
-    "-//Puppy Crawl//DTD Suppressions 1.1//EN"
-    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
-
-<suppressions>
-    <suppress files="[\\/]generated-sources[\\/]" checks="[a-zA-Z0-9]*"/>
-</suppressions>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/build-tools/test.conf
----------------------------------------------------------------------
diff --git a/build-tools/test.conf b/build-tools/test.conf
deleted file mode 100644
index bc5aa75..0000000
--- a/build-tools/test.conf
+++ /dev/null
@@ -1,75 +0,0 @@
-#
-# 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.
-#
-
-# a testcase for module "mnemonic-core" that requires 'pmalloc' memory service to pass
-mvn -Dtest=DurablePersonNGTest test -pl mnemonic-core -DskipTests=false
-
-# a testcase for module "mnemonic-core" that requires 'pmalloc' memory service to pass
-mvn -Dtest=NonVolatileMemAllocatorNGTest test -pl mnemonic-core -DskipTests=false
-
-# a testcase for module "mnemonic-core" that requires 'vmem' memory service to pass
-mvn -Dtest=VolatileMemAllocatorNGTest test -pl mnemonic-core -DskipTests=false
-
-# a testcase for module "mnemonic-core" that requires 'vmem memory service to pass
-mvn -Dtest=MemClusteringNGTest test -pl mnemonic-core -DskipTests=false
-
-mvn -Dtest=ChunkBufferNGTest test -pl mnemonic-core -DskipTests=false
-
-# a testcase for module "mnemonic-collection" that requires 'pmalloc' memory service to pass
-mvn -Dtest=DurableSinglyLinkedListNGTest  test -pl mnemonic-collections -DskipTests=false
-
-# a testcase for module "mnemonic-collection" that requires 'pmalloc' memory service to pass
-mvn -Dtest=DurablePersonNGTest  test -pl mnemonic-collections -DskipTests=false
-
-# a testcase for module "mnemonic-collection" that requires 'pmalloc' memory service to pass
-mvn -Dtest=DurableHashMapNGTest  test -pl mnemonic-collections -DskipTests=false
-
-# a testcase for module "mnemonic-collection" that requires 'pmalloc' memory service to pass
-mvn -Dtest=DurableArrayNGTest  test -pl mnemonic-collections -DskipTests=false
-
-# a testcase for module "mnemonic-collection" that requires 'pmalloc' memory service to pass
-mvn -Dtest=DurableTreeNGTest  test -pl mnemonic-collections -DskipTests=false
-
-# a testcase for module "mnemonic-computing-services/mnemonic-utilities-service" that requires 'pmalloc' memory service to pass
-mvn -Dtest=DurableSinglyLinkedListNGPrintTest test -pl mnemonic-computing-services/mnemonic-utilities-service -DskipTests=false
-
-# a testcase for module "mnemonic-computing-services/mnemonic-utilities-service" that requires 'pmalloc' memory service to pass
-mvn -Dtest=DurableSinglyLinkedListNGSortTest test -pl mnemonic-computing-services/mnemonic-utilities-service -DskipTests=false
-
-# a testcase for module "mnemonic-hadoop/mnemonic-hadoop-mapreduce" that requires 'pmalloc' memory service to pass
-mvn -Dtest=MneMapreducePersonDataTest test -pl mnemonic-hadoop/mnemonic-hadoop-mapreduce -DskipTests=false
-
-mvn -Dtest=MneMapreduceLongDataTest test -pl mnemonic-hadoop/mnemonic-hadoop-mapreduce -DskipTests=false
-
-mvn -Dtest=MneMapreduceBufferDataTest test -pl mnemonic-hadoop/mnemonic-hadoop-mapreduce -DskipTests=false
-
-mvn -Dtest=MneMapreduceChunkDataTest test -pl mnemonic-hadoop/mnemonic-hadoop-mapreduce -DskipTests=false
-
-# a testcase for module "mnemonic-hadoop/mnemonic-hadoop-mapreduce" that requires 'pmalloc' memory service to pass
-mvn -Dtest=MneMapredBufferDataTest test -pl mnemonic-hadoop/mnemonic-hadoop-mapreduce -DskipTests=false
-
-# a testcase for module "mnemonic-spark/mnemonic-spark-core" that requires 'pmalloc' memory service to pass
-mvn -Dsuites=org.apache.mnemonic.spark.rdd.DurableRDDLongDataSpec test -pl mnemonic-spark/mnemonic-spark-core -DskipTests=false
-
-mvn -Dsuites=org.apache.mnemonic.spark.rdd.DurableRDDChunkDataSpec test -pl mnemonic-spark/mnemonic-spark-core -DskipTests=false
-
-mvn -Dsuites=org.apache.mnemonic.spark.rdd.DurableRDDPersonDataSpec test -pl mnemonic-spark/mnemonic-spark-core -DskipTests=false
-
-mvn -Dsuites=org.apache.mnemonic.spark.rdd.DurableRDDBufferDataSpec test -pl mnemonic-spark/mnemonic-spark-core -DskipTests=false
-
-mvn -Dsuites=org.apache.mnemonic.spark.DurableBufferIODataSpec test -pl mnemonic-spark/mnemonic-spark-core -DskipTests=false
-

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/docker/docker-CentOS/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/docker-CentOS/Dockerfile b/docker/docker-CentOS/Dockerfile
index fb9004e..428734c 100644
--- a/docker/docker-CentOS/Dockerfile
+++ b/docker/docker-CentOS/Dockerfile
@@ -65,7 +65,7 @@ RUN cd /ws && git clone https://github.com/apache/incubator-mnemonic.git && \
 
 ENV MNEMONIC_HOME /ws/incubator-mnemonic
 
-#RUN cd /ws/incubator-mnemonic && build-tools/runall.sh -y
+#RUN cd /ws/incubator-mnemonic && bin/runall.sh -y
 
 WORKDIR /ws
 CMD ["bash"]

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/docker/docker-Ubuntu/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/docker-Ubuntu/Dockerfile b/docker/docker-Ubuntu/Dockerfile
index 476ff8b..112a9f7 100644
--- a/docker/docker-Ubuntu/Dockerfile
+++ b/docker/docker-Ubuntu/Dockerfile
@@ -56,7 +56,7 @@ RUN cd /ws && git clone https://github.com/apache/incubator-mnemonic.git && \
 
 ENV MNEMONIC_HOME /ws/incubator-mnemonic
 
-#RUN cd /ws/incubator-mnemonic && build-tools/runall.sh -y
+#RUN cd /ws/incubator-mnemonic && bin/runall.sh -y
 
 WORKDIR /ws
 

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/2c82bdb5/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index d713eb4..e5298fd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -110,7 +110,7 @@
     <memory.service.dist.dir>${root.dir}/mnemonic-memory-services/service-dist</memory.service.dist.dir>
     <computing.service.dist.dir>${root.dir}/mnemonic-computing-services/service-dist</computing.service.dist.dir>
     <github.global.server>github</github.global.server>
-    <buildtools.dir>${basedir}/build-tools</buildtools.dir>
+    <buildtools.dir>${basedir}/bin</buildtools.dir>
     <gpg.keyname>apache.org</gpg.keyname>
     <slf4j.version>1.7.21</slf4j.version>
     <log4j.version>1.2.17</log4j.version>
@@ -270,7 +270,7 @@
           <artifactId>maven-checkstyle-plugin</artifactId>
           <version>2.17</version>
           <configuration>
-            <configLocation>build-tools/mnemonic-checkstyle.xml</configLocation>
+            <configLocation>bin/mnemonic-checkstyle.xml</configLocation>
             <includeTestSourceDirectory>true</includeTestSourceDirectory>
             <encoding>UTF-8</encoding>
             <failOnViolation>true</failOnViolation>
@@ -433,22 +433,22 @@
     <id>activate-buildtools-in-module</id>
     <activation>
       <file>
-        <exists>${basedir}/../build-tools/mnemonic-checkstyle.xml</exists>
+        <exists>${basedir}/../bin/mnemonic-checkstyle.xml</exists>
       </file>
     </activation>
     <properties>
-      <buildtools.dir>${basedir}/../build-tools</buildtools.dir>
+      <buildtools.dir>${basedir}/../bin</buildtools.dir>
     </properties>
   </profile>
   <profile>
     <id>activate-buildtools-in-submodule</id>
     <activation>
       <file>
-        <exists>${basedir}/../../build-tools/mnemonic-checkstyle.xml</exists>
+        <exists>${basedir}/../../bin/mnemonic-checkstyle.xml</exists>
       </file>
     </activation>
     <properties>
-      <buildtools.dir>${basedir}/../../build-tools</buildtools.dir>
+      <buildtools.dir>${basedir}/../../bin</buildtools.dir>
     </properties>
   </profile>
 
@@ -470,7 +470,7 @@
           <version>2.4</version>
           <configuration>
             <finalName>apache-mnemonic-${project.version}</finalName>
-            <descriptor>build-tools/source-assembly.xml</descriptor>
+            <descriptor>bin/source-assembly.xml</descriptor>
           </configuration>
         </plugin>
         <plugin>