#! /usr/bin/env bash # COPYRIGHT NOTICE STARTS HERE # # Copyright 2018 © Samsung Electronics Co., Ltd. # # 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. # # COPYRIGHT NOTICE ENDS HERE # This simple script should be used during build / packaging process # and it should be referenced in BuildGuide. # Patching of helm charts is the only way for OOM charts to be compatible # with this offline installer. This will become obsolete once native # solution is implemented in charts themselves and which is tracked # in OOM-1610 # fail fast set -e # colours _R='\033[0;31;1m' #Red _G='\033[0;32;1m' #Green _Y='\033[0;33;1m' #Yellow C_='\033[0m' #Color off usage () { echo "Usage:" echo -e "./$(basename $0) \n" echo "Example: ./$(basename $0) https://gerrit.onap.org/r/oom 3.0.2-ONAP /root/offline-installer/patches/casablanca.patch /root/offline-installer/ansible/application/helm_charts" } if [ "$#" -ne 4 ]; then echo "This script should get exactly 4 arguments!" echo -e "Wrong number of parameters provided\n" usage exit 1 fi # main # git and patch tools are preconditions for this to work CURR=1 TOTAL=5 PATCH_FILE=$(realpath "${3}") echo -e "${_G}[Step $((CURR++))/${TOTAL} cloning repo with charts to be patched]${C_}" git clone "${1}" "${4}" echo -e "${_G}[Step $((CURR++))/${TOTAL} setting working dir to ${4}]${C_}" pushd "${4}" echo -e "${_G}[Step $((CURR++))/${TOTAL} git-checkout to correct base]${C_}" git checkout "${2}" echo -e "${_G}[Step $((CURR++))/${TOTAL} patching charts]${C_}" git apply "${PATCH_FILE}" echo -e "${_G}[Step $((CURR++))/${TOTAL} returning to original working directory]${C_}" popd