[ONOS-3686] Add a script named onos-blackduck-zip in tools/build/

Change-Id: I578afc6d903cadc5e6b3f392496d4d572c6bc849
diff --git a/tools/build/onos-blackduck-zip b/tools/build/onos-blackduck-zip
new file mode 100755
index 0000000..5b0e8b7
--- /dev/null
+++ b/tools/build/onos-blackduck-zip
@@ -0,0 +1,68 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Packages specific ONOS codebase with specific tag or branch
+# -----------------------------------------------------------------------------
+
+# Bail on any errors
+set -e
+
+# Initialize environment variables
+init() {
+    # Check if ONOS_ROOT is defined
+    [ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1;
+
+    # Setup some environmental context for developers
+    if [ -z "${JAVA_HOME}" ]; then
+        if [ -x /usr/libexec/java_home ]; then
+            export JAVA_HOME=$(/usr/libexec/java_home -v 1.8);
+        elif [ -d /usr/lib/jvm/java-8-oracle ]; then
+            export JAVA_HOME="/usr/lib/jvm/java-8-oracle";
+        elif [ -d /usr/lib/jvm/java-8-openjdk-amd64 ]; then
+            export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64";
+        fi
+    fi
+    # Check if mvn exists
+    command -v mvn >/dev/null 2>&1 || {
+    # Following the convention, the default location of maven shows as below.
+    MAVEN=${MAVEN:-~/Applications/apache-maven-3.3.9};
+    export PATH="$MAVEN/bin:$PATH";
+    }
+}
+
+# checkout $TAG, build project and copy it to other location
+check_copy() {
+    CHECK_TAG=`git checkout $TAG`
+    if [[ $CHECK_TAG =~ "error" ]]; then
+        echo "There is no branch or tag named $TAG in $ONOS_ROOT" >&2 && exit 1
+    fi
+    FOLDER=$CURRENT_PATH/onos-$TAG-blackduck
+    [ -d "$FOLDER" ] && rm -r $FOLDER
+    mkdir $FOLDER
+    mvn clean install
+    if [$? -eq 0 ]; then
+        cp -r -a * $FOLDER;
+        if [ -d "$FOLDER/.git" ]; then
+         rm -r $FOLDER/.git
+        fi;
+    else
+        git checkout $CURRENT_TAG;
+        rm -r $FOLDER
+        echo "mvn compilation failed"
+    fi
+}
+
+# Script entry point
+CURRENT_PATH=`pwd`
+TAG=${1:-'master'}
+
+init
+cd $ONOS_ROOT
+CURRENT_TAG=`git branch | awk '{print $2}'`
+check_copy
+cd $FOLDER
+zip -rq -m $CURRENT_PATH/onos-$TAG-blackduck.zip *
+cd ..
+rm -r $FOLDER
+
+cd $ONOS_ROOT
+git checkout $CURRENT_TAG
\ No newline at end of file