pass variables as parameters t obash

main
Nicolas Arenas 2025-03-18 00:06:29 +01:00
parent e1a154b91e
commit e83ec1d142
1 changed files with 43 additions and 54 deletions

View File

@ -1,34 +1,25 @@
sh """#!/bin/bash def call(String repoDir, String maintainerName = "Qindel Opengnsys Team", String maintainerEmail = "opengnsys@qindel.com") {
exec bash <<'EOF' sh """#!/bin/bash
set -e # Detener la ejecución en caso de error set -e
set -x # Mostrar los comandos que se ejecutan set -x
REPO_DIR="${repoDir}" REPO_DIR="${repoDir}"
MAINTAINER_NAME="${maintainerName}" MAINTAINER_NAME="${maintainerName}"
MAINTAINER_EMAIL="${maintainerEmail}" MAINTAINER_EMAIL="${maintainerEmail}"
INPUT_FILE="\${REPO_DIR}/CHANGELOG.md" INPUT_FILE="\${REPO_DIR}/CHANGELOG.md"
OUTPUT_FILE="\${REPO_DIR}/debian/changelog" OUTPUT_FILE="\${REPO_DIR}/debian/changelog"
PACKAGE_NAME="oggui" PACKAGE_NAME="oggui"
DISTRIBUTION="unstable" DISTRIBUTION="unstable"
URGENCY="medium" URGENCY="medium"
BUILD_NUMBER="\${BUILD_NUMBER:-1}" # Default en caso de no estar definido BUILD_NUMBER="\${BUILD_NUMBER:-1}"
# Función para formatear la fecha correctamente en formato Debian echo "" > "\$OUTPUT_FILE"
format_date() {
if date --version >/dev/null 2>&1; then
date -d "\$1" "+%a, %d %b %Y %H:%M:%S %z"
else
date -j -f "%Y-%m-%d" "\$1" "+%a, %d %b %Y %H:%M:%S %z"
fi
}
echo "" > "\$OUTPUT_FILE" first_entry=true
version_block_started=false
first_entry=true while IFS= read -r line || [[ -n "\$line" ]]; do
version_block_started=false
while IFS= read -r line || [[ -n "\$line" ]]; do
if [[ "\$line" =~ ^##\\ \\[(.*)\\]\\ -\\ ([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})\$ ]]; then if [[ "\$line" =~ ^##\\ \\[(.*)\\]\\ -\\ ([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})\$ ]]; then
if [ "\$first_entry" = false ] && [ "\$version_block_started" = true ]; then if [ "\$first_entry" = false ] && [ "\$version_block_started" = true ]; then
echo -e " -- \$MAINTAINER_NAME <\$MAINTAINER_EMAIL> \$(date -R)\\n" >> "\$OUTPUT_FILE" echo -e " -- \$MAINTAINER_NAME <\$MAINTAINER_EMAIL> \$(date -R)\\n" >> "\$OUTPUT_FILE"
@ -38,12 +29,10 @@ while IFS= read -r line || [[ -n "\$line" ]]; do
BASE_VERSION="\${BASH_REMATCH[1]}" BASE_VERSION="\${BASH_REMATCH[1]}"
DATE="\${BASH_REMATCH[2]}-\${BASH_REMATCH[3]}-\${BASH_REMATCH[4]}" DATE="\${BASH_REMATCH[2]}-\${BASH_REMATCH[3]}-\${BASH_REMATCH[4]}"
FORMATTED_DATE=\$(format_date "\$DATE") FORMATTED_DATE=\$(date -R)
VERSION="\${BASE_VERSION}-\${BUILD_NUMBER}" VERSION="\${BASE_VERSION}-\${BUILD_NUMBER}"
echo -e "\$PACKAGE_NAME (\$VERSION) \$DISTRIBUTION; urgency=\$URGENCY\\n" >> "\$OUTPUT_FILE" echo -e "\$PACKAGE_NAME (\$VERSION) \$DISTRIBUTION; urgency=\$URGENCY\\n" >> "\$OUTPUT_FILE"
elif [[ "\$line" =~ ^###\\ (.*) ]]; then elif [[ "\$line" =~ ^###\\ (.*) ]]; then
echo -e " * \${BASH_REMATCH[1]}" >> "\$OUTPUT_FILE" echo -e " * \${BASH_REMATCH[1]}" >> "\$OUTPUT_FILE"
elif [[ "\$line" =~ ^-\\ (.*) ]]; then elif [[ "\$line" =~ ^-\\ (.*) ]]; then
@ -51,12 +40,12 @@ while IFS= read -r line || [[ -n "\$line" ]]; do
elif [[ -z "\$line" ]]; then elif [[ -z "\$line" ]]; then
echo "" >> "\$OUTPUT_FILE" echo "" >> "\$OUTPUT_FILE"
fi fi
done < "\$INPUT_FILE" done < "\$INPUT_FILE"
if [ "\$version_block_started" = true ]; then if [ "\$version_block_started" = true ]; then
echo -e " -- \$MAINTAINER_NAME <\$MAINTAINER_EMAIL> \$(date -R)\\n" >> "\$OUTPUT_FILE" echo -e " -- \$MAINTAINER_NAME <\$MAINTAINER_EMAIL> \$(date -R)\\n" >> "\$OUTPUT_FILE"
fi fi
echo "✅ Changelog generado en formato Debian en \$OUTPUT_FILE." echo "✅ Changelog generado en formato Debian en \$OUTPUT_FILE."
EOF """
""" }