diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/drools/apps-install.sh | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/config/drools/apps-install.sh b/config/drools/apps-install.sh new file mode 100644 index 00000000..72f7a746 --- /dev/null +++ b/config/drools/apps-install.sh @@ -0,0 +1,124 @@ +#!/bin/bash +# +# ============LICENSE_START======================================================= +# ONAP +# ================================================================================ +# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed 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. +# ============LICENSE_END========================================================= +# + +# ################################# +# Usage +# ################################# + +function usage { + echo + echo "Usage: $(basename $0) <application-name> <zipped-application-version> <download-directory>" + echo "Example: $(basename $0) controlloop 1.2.0 /opt/policy/config/drools" + echo +} + +# ################################# +# snapshot url computation +# ################################# + +function url_snapshot { + if [[ $DEBUG == y ]]; then + echo "-- ${FUNCNAME[0]} --" + set -x + fi + + APP_URL="${APP_URL}/snapshots/org/onap/policy/drools-applications/${APP_NAME}/packages/apps-${APP_NAME}/${APP_VERSION}" + + local APP_METADATA_URL="${APP_URL}/maven-metadata.xml" + local APP_SNAPSHOT_VERSION=$(curl --silent "${APP_METADATA_URL}" | grep -Po "(?<=<value>).*(?=</value>)" | sort -V | tail -1) + + if [[ -z ${APP_SNAPSHOT_VERSION} ]]; then + echo "ERROR: cannot compute SNAPSHOT version" + usage + exit 1 + fi + + APP_URL="${APP_URL}/apps-${APP_NAME}-${APP_SNAPSHOT_VERSION}.zip" +} + +# ################################# +# release url computation +# ################################# + +function url_release { + if [[ $DEBUG == y ]]; then + echo "-- ${FUNCNAME[0]} --" + set -x + fi + + APP_URL="${APP_URL}/releases/org/onap/policy/drools-applications/${APP_NAME}/packages/apps-${APP_NAME}/${APP_VERSION}/apps-${APP_NAME}-${APP_VERSION}.zip" +} + +# ################################# +# Main +# ################################# + +if [[ $DEBUG == y ]]; then + set -x +fi + +APP_NAME=$1 +if [[ -z ${APP_NAME} ]]; then + echo "ERROR: no APPLICATION NAME provided (ie. controlloop)" + usage + exit 1 +fi + +APP_VERSION=$2 +if [[ -z ${APP_VERSION} ]]; then + echo "ERROR: no APPLICATION VERSION provided" + usage + exit 1 +fi + +DOWNLOAD_DIR=$3 +if [[ -z ${DOWNLOAD_DIR} ]]; then + echo "ERROR: no DOWNLOAD DIRECTORY provided" + usage + exit 1 +fi + +if [[ ! -d ${DOWNLOAD_DIR} ]]; then + echo "ERROR: ${DOWNLOAD_DIR} is not a directory" + usage + exit 1 +fi + +APP_GROUP_ID="org.onap.policy.drools-applications.${APP_NAME}.packages" +APP_ARTIFACT_ID="apps-${APP_NAME}" +APP_BASE_URL="https://nexus.onap.org/content/repositories" + +APP_URL="${APP_BASE_URL}" + +if [[ ${APP_VERSION} =~ \-SNAPSHOT$ ]]; then + url_snapshot +else + url_release +fi + +wget "${APP_URL}" -O "${DOWNLOAD_DIR}"/apps-"${APP_NAME}".zip +if [[ $? != 0 ]]; then + echo "ERROR: cannot download ${DOWNLOAD_DIR}/apps-${APP_NAME}.zip" + exit 1 +fi + +echo "APP ${APP_NAME} stored at ${DOWNLOAD_DIR}/apps-${APP_NAME}.zip" +ls -l "${DOWNLOAD_DIR}"/apps-"${APP_NAME}".zip |