def call(String repoDir) { script { sh """#!/bin/bash set -e # Detener la ejecución en caso de error INPUT_FILE="${repoDir}/changelog.md" OUTPUT_FILE="${repoDir}/debian/changelog" PACKAGE_NAME="oggui" MAINTAINER_NAME="Lucas Lara" MAINTAINER_EMAIL="tu@email.com" DISTRIBUTION="unstable" URGENCY="medium" BUILD_NUMBER="${BUILD_NUMBER}" # Función para formatear la fecha en Debian format_date() { date -d "\$1" "+%a, %d %b %Y %H:%M:%S %z" 2>/dev/null || date -j -f "%Y-%m-%d" "\$1" "+%a, %d %b %Y %H:%M:%S %z" } echo "" > "\$OUTPUT_FILE" while IFS= read -r line; do if [[ "\$line" =~ ^##\\ \\[(.*)\\]\\ -\\ ([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})\$ ]]; then BASE_VERSION="\${BASH_REMATCH[1]}" DATE="\${BASH_REMATCH[2]}-\${BASH_REMATCH[3]}-\${BASH_REMATCH[4]}" FORMATTED_DATE=\$(format_date "\$DATE") VERSION="\${BASE_VERSION}-\${BUILD_NUMBER}" # Se agrega el número de build echo -e "\$PACKAGE_NAME (\$VERSION) \$DISTRIBUTION; urgency=\$URGENCY\\n" >> "\$OUTPUT_FILE" elif [[ "\$line" =~ ^###\\ (.*) ]]; then echo -e " * \${BASH_REMATCH[1]}" >> "\$OUTPUT_FILE" elif [[ "\$line" =~ ^-\\ (.*) ]]; then echo -e " - \${BASH_REMATCH[1]}" >> "\$OUTPUT_FILE" elif [[ -z "\$line" ]]; then echo "" >> "\$OUTPUT_FILE" fi done < "\$INPUT_FILE" echo -e " -- \$MAINTAINER_NAME <\$MAINTAINER_EMAIL> \$(date -R)\\n" >> "\$OUTPUT_FILE" echo "Changelog generado en formato Debian en \$OUTPUT_FILE." """ } }