commit f216cdb880475c050b1d73deec956d8bb6cfcccc Author: Nicolas Arenas Date: Mon Mar 17 18:45:08 2025 +0100 First Version of shred library diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000..da939bd --- /dev/null +++ b/changelog.md @@ -0,0 +1,8 @@ +# Changelog + +## [0.1.0] - 2025-03-17 +### Initial Release +- Primera versión de la librería compartida +- Parseo del changelog de debian basandonos en el formato de https://keepachangelog.com/en/1.1.0/ + + diff --git a/resources/.gitkeep b/resources/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/.gitkeep b/src/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/vars/generateDebianChangelog.groovy b/vars/generateDebianChangelog.groovy new file mode 100644 index 0000000..1643553 --- /dev/null +++ b/vars/generateDebianChangelog.groovy @@ -0,0 +1,42 @@ +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." + """ + } +}