:: 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
+:: 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,
::
@echo off
+setlocal enabledelayedexpansion
if [%1]==[] goto usage
SET DIRECTORY=%1
if %DIRECTORY:~-1%==\ (
SET DIRECTORY=%DIRECTORY:~0,-1%
)
+
+SET HELM_DIR=%DIRECTORY%/Artifacts/Deployment/HELM
+SET CSARFILE=%DIRECTORY%.csar
+SET ZIPFILE=%DIRECTORY%.zip
+SET EXCLUDE_DIRS=
+
if exist %DIRECTORY% (
- SET CSARFILE=%DIRECTORY%.csar
- SET ZIPFILE=%DIRECTORY%.zip
+ if exist "%HELM_DIR%" (
+ echo Helm directory exists: %HELM_DIR%
+ for /d %%D in ("%HELM_DIR%\*") do (
+ if exist "%%D" (
+ echo Checking directory: %%D
+ echo Packaging Helm chart in directory: %%~nxD
+ helm package %%D -d %HELM_DIR%
+ SET EXCLUDE_DIRS=!EXCLUDE_DIRS!--exclude=Artifacts/Deployment/HELM/%%~nxD/*
+ echo Excluding directory: %HELM_DIR%\%%~nxD
+ )
+ )
+ ) else (
+ echo Helm directory %HELM_DIR% doesn't exist.
+ )
+
del %CSARFILE% 2>nul
pushd %DIRECTORY%
- tar -a -cf ..\%ZIPFILE% *
+ tar !EXCLUDE_DIRS! -a -cf ..\%ZIPFILE% *
popd
rename %ZIPFILE% %CSARFILE%
@echo rApp package %CSARFILE% generated.
) else (
- @echo Directory %DIRECTORY% doesn't exists.
+ @echo Directory %DIRECTORY% doesn't exist.
)
goto :eof
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
- rm $PACKAGENAME 2> /dev/null
+ checkHelmPackage
+ rm -f $PACKAGENAME 2> /dev/null
pushd $DIRECTORY
- zip -r ../$PACKAGENAME *
+ zip -r ../$PACKAGENAME * $(printf " -x %s" "${EXCLUDE_DIRS[@]}")
popd
echo -e "rApp package $PACKAGENAME generated."
else
- echo "Directory $DIRECTORY doesn't exists."
+ echo "Directory $DIRECTORY doesn't exist."
fi