diff options
author | Varun Gudisena <vg411h@att.com> | 2017-08-31 10:56:56 -0500 |
---|---|---|
committer | Varun Gudisena <vg411h@att.com> | 2017-08-31 10:57:12 -0500 |
commit | acc3ce02997219825091a2e4ed7fd493f2d440b2 (patch) | |
tree | de1db5979894f0dadd6752ae1841fdeb743a5830 /src/main/swm/common/utils/findreplace.sh | |
parent | 3306e2f9cc17833d5816936e0ea2973d9013b00e (diff) |
Revert package name changes
Reverted package name changes to avoid any potential issues. Renamed maven
group id only.
Issue-id: DMAAP-74
Change-Id: I4ca4537d48e5723b2939148e5bd83645ee20dd30
Signed-off-by: Varun Gudisena <vg411h@att.com>
Diffstat (limited to 'src/main/swm/common/utils/findreplace.sh')
-rw-r--r-- | src/main/swm/common/utils/findreplace.sh | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/src/main/swm/common/utils/findreplace.sh b/src/main/swm/common/utils/findreplace.sh new file mode 100644 index 0000000..efd8a77 --- /dev/null +++ b/src/main/swm/common/utils/findreplace.sh @@ -0,0 +1,94 @@ +#!/bin/sh +#******************************************************************************* +# ============LICENSE_START======================================================= +# org.onap.dmaap +# ================================================================================ +# Copyright © 2017 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========================================================= +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# +#******************************************************************************* +# Copyright 2011 AT&T Intellectual Properties +############################################################################## +# findreplace.sh <template> <destination> +# +# This script searches a provided file for templatized variable names +# in the format __varname__ and, if found in the current environment +# replaces those. Once complete, it will move the final copy of the file +# to <destination>. +# +############################################################################## +TEMPLATE=${1:?"Template file path required"} +DESTINATION=${2:?"Destination file path required"} + +if [ ! -f "${TEMPLATE}" ]; then + echo "ERROR: Specified template file does not exist: ${TEMPLATE}" + exit 100 +fi + +DIRECTORY=`dirname ${DESTINATION}` +if [ ! -d "${DIRECTORY}" ]; then + echo "ERROR: Destination directory does not exist: ${DIRECTORY}" + exit 200 +fi + +SED_SCR=/tmp/sed.$$ +echo "{" > ${SED_SCR} + +# create a sed script for replacing variables from current environment +for i in `env | awk -F= '{ print $1}'`; do + if [ "$i" = "IFS" ] ; then + continue; + fi + + VALUE=`eval echo '$'${i}` || { + echo 'WARNING: Unable to format '${i}' for sed replacement' + continue; + } + + for x in '@' '^' '&' '?' '#' '~' '%' '|' '+' '/'; do + echo ${VALUE} | grep "$x" 2>/dev/null 1>/dev/null + if [ $? != 0 ]; then + CCHAR="$x" + break + fi + done + + if [ -z "${CCHAR}" ]; then + echo "WARNING: Unable to find a suitable sed replacement character for ${VALUE}, will ignore setting ${KEY} in templates" + continue; + fi + + echo " s${CCHAR}__${i}__${CCHAR}${VALUE}${CCHAR}g" >> ${SED_SCR} +done + +sed -e 's/\\\@/\\\\@/g' ${SED_SCR} > ${SED_SCR}.1 || exit 300 + +if [ -f ${DESTINATION} ]; then + TIMESTAMP=`date +%Y%m%d%H%M%S` + o_dir=`dirname ${DESTINATION}` + o_file=`basename ${DESTINATION}` + mv ${DESTINATION} ${o_dir}/bu.${o_file}.${TIMESTAMP} +fi + +mv -f ${SED_SCR}.1 ${SED_SCR} || exit 400 + +echo "}" >> ${SED_SCR} || exit 500 + +sed -f ${SED_SCR} ${TEMPLATE} > ${DESTINATION} || exit 600 + +rm -f $SED_SCR + +exit 0
\ No newline at end of file |