pass variables as parameters t obash
parent
e1a154b91e
commit
e83ec1d142
|
@ -1,62 +1,51 @@
|
|||
sh """#!/bin/bash
|
||||
exec bash <<'EOF'
|
||||
set -e # Detener la ejecución en caso de error
|
||||
set -x # Mostrar los comandos que se ejecutan
|
||||
def call(String repoDir, String maintainerName = "Qindel Opengnsys Team", String maintainerEmail = "opengnsys@qindel.com") {
|
||||
sh """#!/bin/bash
|
||||
set -e
|
||||
set -x
|
||||
|
||||
REPO_DIR="${repoDir}"
|
||||
MAINTAINER_NAME="${maintainerName}"
|
||||
MAINTAINER_EMAIL="${maintainerEmail}"
|
||||
|
||||
INPUT_FILE="\${REPO_DIR}/CHANGELOG.md"
|
||||
OUTPUT_FILE="\${REPO_DIR}/debian/changelog"
|
||||
PACKAGE_NAME="oggui"
|
||||
DISTRIBUTION="unstable"
|
||||
URGENCY="medium"
|
||||
BUILD_NUMBER="\${BUILD_NUMBER:-1}"
|
||||
|
||||
REPO_DIR="${repoDir}"
|
||||
MAINTAINER_NAME="${maintainerName}"
|
||||
MAINTAINER_EMAIL="${maintainerEmail}"
|
||||
echo "" > "\$OUTPUT_FILE"
|
||||
|
||||
first_entry=true
|
||||
version_block_started=false
|
||||
|
||||
INPUT_FILE="\${REPO_DIR}/CHANGELOG.md"
|
||||
OUTPUT_FILE="\${REPO_DIR}/debian/changelog"
|
||||
PACKAGE_NAME="oggui"
|
||||
DISTRIBUTION="unstable"
|
||||
URGENCY="medium"
|
||||
BUILD_NUMBER="\${BUILD_NUMBER:-1}" # Default en caso de no estar definido
|
||||
while IFS= read -r line || [[ -n "\$line" ]]; do
|
||||
if [[ "\$line" =~ ^##\\ \\[(.*)\\]\\ -\\ ([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})\$ ]]; then
|
||||
if [ "\$first_entry" = false ] && [ "\$version_block_started" = true ]; then
|
||||
echo -e " -- \$MAINTAINER_NAME <\$MAINTAINER_EMAIL> \$(date -R)\\n" >> "\$OUTPUT_FILE"
|
||||
fi
|
||||
first_entry=false
|
||||
version_block_started=true
|
||||
|
||||
# Función para formatear la fecha correctamente en formato Debian
|
||||
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
|
||||
}
|
||||
BASE_VERSION="\${BASH_REMATCH[1]}"
|
||||
DATE="\${BASH_REMATCH[2]}-\${BASH_REMATCH[3]}-\${BASH_REMATCH[4]}"
|
||||
FORMATTED_DATE=\$(date -R)
|
||||
|
||||
echo "" > "\$OUTPUT_FILE"
|
||||
|
||||
first_entry=true
|
||||
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 [ "\$first_entry" = false ] && [ "\$version_block_started" = true ]; then
|
||||
echo -e " -- \$MAINTAINER_NAME <\$MAINTAINER_EMAIL> \$(date -R)\\n" >> "\$OUTPUT_FILE"
|
||||
VERSION="\${BASE_VERSION}-\${BUILD_NUMBER}"
|
||||
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
|
||||
first_entry=false
|
||||
version_block_started=true
|
||||
done < "\$INPUT_FILE"
|
||||
|
||||
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}"
|
||||
|
||||
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"
|
||||
if [ "\$version_block_started" = true ]; then
|
||||
echo -e " -- \$MAINTAINER_NAME <\$MAINTAINER_EMAIL> \$(date -R)\\n" >> "\$OUTPUT_FILE"
|
||||
fi
|
||||
done < "\$INPUT_FILE"
|
||||
|
||||
if [ "\$version_block_started" = true ]; then
|
||||
echo -e " -- \$MAINTAINER_NAME <\$MAINTAINER_EMAIL> \$(date -R)\\n" >> "\$OUTPUT_FILE"
|
||||
fi
|
||||
|
||||
echo "✅ Changelog generado en formato Debian en \$OUTPUT_FILE."
|
||||
EOF
|
||||
"""
|
||||
echo "✅ Changelog generado en formato Debian en \$OUTPUT_FILE."
|
||||
"""
|
||||
}
|
Loading…
Reference in New Issue