def call(String repoDir) { script { sh """ #!/bin/bash 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" # 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 VERSION="\${BASH_REMATCH[1]}" DATE="\${BASH_REMATCH[2]}-\${BASH_REMATCH[3]}-\${BASH_REMATCH[4]}" FORMATTED_DATE=\$(format_date "\$DATE") 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." """ } }