Merge "Modify build_nexus_blob.sh to accept more input parameters"
diff --git a/build/build_nexus_blob.sh b/build/build_nexus_blob.sh
index 131c8d7..09ed896 100755
--- a/build/build_nexus_blob.sh
+++ b/build/build_nexus_blob.sh
@@ -21,9 +21,10 @@
 ### This script prepares Nexus repositories data blobs for ONAP
 
 ## The script requires following dependencies are installed: nodejs, jq, docker
-## All required resources are expected in the upper directory
-## created during download procedure as DATA_DIR
-## All lists used must be in project data_lists directory
+## All required resources are expected in the upper directory created during
+## download procedure as DATA_DIR or in the directory given as --input-directory
+## All lists used must be in project data_lists directory or in the directory given
+## as --resource-list-directory
 
 # Fail fast settings
 set -e
@@ -34,18 +35,6 @@
 # Log everything
 exec &> >(tee -a "${SCRIPT_LOG}")
 
-usage () {
-    echo "  This script is preparing Nexus data blob from docker images and npm and pypi packages"
-    echo "      Usage:"
-    echo "        ./$(basename $0) <project version> [<target>]"
-    echo "      "
-    echo "      Example: ./$(basename $0) onap_3.0.1 /root/nexus_data"
-    echo "      "
-    echo "      Dependencies: nodejs, jq, docker"
-    echo "      "
-    exit 1
-}
-
 # Nexus repository location
 NEXUS_DOMAIN="nexus"
 NEXUS_PORT="8081"
@@ -60,25 +49,54 @@
 NEXUS_PASSWORD=admin123
 NEXUS_EMAIL=admin@example.org
 
-if [ "${1}" == "-h" ] || [ "${1}" == "--help"  ] || [ $# -eq 0 ]; then
-    usage
-else
-    TAG="${1}"
-fi
-
 # Setting paths
 LOCAL_PATH="$(readlink -f $(dirname ${0}))"
+
+#Defaults
 DATA_DIR="$(realpath ${LOCAL_PATH}/../../resources)"
-
-if [ -z "${2}" ]; then
-    NEXUS_DATA_DIR="${DATA_DIR}/nexus_data"
-else
-    NEXUS_DATA_DIR="${2}"
-fi
-
-# Setup directory with resources lists
+NEXUS_DATA_DIR="${DATA_DIR}/nexus_data"
 LISTS_DIR="${LOCAL_PATH}/data_lists"
 
+usage () {
+    echo "   Example usage: build_nexus_blob.sh -t <tag> --input-directory </path/to/downloaded/files/dir>  --output-directory
+           </path/to/output/dir> --resource-list-directory </path/to/dir/with/resource/list>
+
+     -t | --tag release tag, taken from available on git or placed by data generating script (mandatory) must fallow scheme onap_<semver>
+     -i | --input-directory directory containing file needed to create nexus blob. The structure of this directory must organized as described in build guide
+     -o | --output-directory
+    -rl | --resource-list-directory directory with files containing docker, pypi and rpm lists
+    "
+    exit 1
+}
+
+while [ "$1" != "" ]; do
+    case $1 in
+        -t | --tag )                       shift
+                                           TAG=$1
+                                           ;;
+        -i | --input-directory )           shift
+                                           DATA_DIR=$1
+                                           ;;
+        -o | --output-directory )          shift
+                                           NEXUS_DATA_DIR=$1
+                                           ;;
+        -rl | --resource-list-directory )  shift
+                                           LISTS_DIR=$1
+                                           ;;
+        -h | --help )                      usage
+                                           ;;
+        *)                                 usage
+    esac
+    shift
+done
+
+
+# exit if no tag given
+if [ -z ${TAG} ]; then
+    usage
+    exit 1
+fi
+
 # Setup directories with resources for docker, npm and pypi
 NXS_SRC_DOCKER_IMG_DIR="${DATA_DIR}/offline_data/docker_images_for_nexus"
 NXS_SRC_NPM_DIR="${DATA_DIR}/offline_data/npm_tar"
@@ -284,7 +302,7 @@
     if [[ ${IMAGE} != *"/"* ]]; then
         PUSH="${DOCKER_REGISTRY}/library/${IMAGE}"
     elif [[ ${IMAGE} == *"${DEFAULT_REGISTRY}"* ]]; then
-	if [[ ${IMAGE} == *"/"*"/"* ]]; then
+        if [[ ${IMAGE} == *"/"*"/"* ]]; then
             PUSH="$(sed 's/'"${DEFAULT_REGISTRY}"'/'"${DOCKER_REGISTRY}"'/' <<< ${IMAGE})"
         else
             PUSH="$(sed 's/'"${DEFAULT_REGISTRY}"'/'"${DOCKER_REGISTRY}"'\/library/' <<< ${IMAGE})"
@@ -322,3 +340,4 @@
 
 echo "Nexus blob is built"
 exit 0
+