[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