blob: e3d0e6eed4b665eafa86638a5db4ae1f8b285b9f [file] [log] [blame]
#!/bin/bash
# ============LICENSE_START===============================================
# Copyright (C) 2023 Nordix Foundation. All rights reserved.
# Copyright (C) 2024 OpenInfra Foundation Europe. 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=================================================
#
if [[ $# -ne 1 ]]; then
echo "USAGE: $0 <rApp-resource-folder-name>"
exit 1
fi
if ! command -v zip &> /dev/null; then
echo "Zip command not found. Please install zip to proceed."
exit 1
fi
if ! command -v helm &> /dev/null; then
echo "Helm command not found. Please install helm to proceed."
exit 1
fi
DIRECTORY=${1%/}
PACKAGENAME="$DIRECTORY.csar"
HELM_DIR="$DIRECTORY/Artifacts/Deployment/HELM"
EXCLUDE_DIRS=()
checkHelmPackage() {
if [ -d "$HELM_DIR" ]; then
for dir in "$HELM_DIR"/*/ ; do
if [ -d "$dir" ]; then
HELM_PACKAGE_NAME=$(basename "$dir")
pushd "$HELM_DIR"
helm package "$HELM_PACKAGE_NAME"
popd
EXCLUDE_DIRS+=("*/$HELM_PACKAGE_NAME/*")
fi
done
else
echo "Helm directory $HELM_DIR doesn't exist."
fi
}
if [ -d "$DIRECTORY" ]; then
checkHelmPackage
rm -f $PACKAGENAME 2> /dev/null
pushd $DIRECTORY
zip -r ../$PACKAGENAME * $([ ${#EXCLUDE_DIRS[@]} -gt 0 ] && printf " -x %s" "${EXCLUDE_DIRS[@]}")
popd
echo -e "rApp package $PACKAGENAME generated."
else
echo "Directory $DIRECTORY doesn't exist."
fi