#!/usr/bin/env bash

COMPONENT=$1
VERSION=$2
WRITE_TAG=$3
LAST_TAG=$(git describe  --abbrev=0)
RELEASE_NOTES="/tmp/release_notes"
TRANSLATIONS="/tmp/translations"

# Push the release notes and translations text to tmp files
xfce-get-release-notes $LAST_TAG silent > $RELEASE_NOTES
xfce-get-translations "$LAST_TAG" "HEAD" silent > $TRANSLATIONS

cleanup () {
    rm $RELEASE_NOTES
    rm $TRANSLATIONS
}

# Check if there is a NEWS file
if [ "$WRITE_TAG" = "WRITETAG" ]; then
    printf '%s\n\n%s\n%s\n' $VERSION "$(cat $RELEASE_NOTES)" "$(cat $TRANSLATIONS)"
elif [ ! -f "NEWS" ]; then
    echo "There is no 'NEWS' file. Changelog since $VERSION:"
    printf '%s\n======\n%s\n%s\n\n%s' $VERSION "$(cat $RELEASE_NOTES)" "$(cat $TRANSLATIONS)"
    cleanup
else
    printf '%s\n======\n%s\n%s\n\n%s' $VERSION "$(cat $RELEASE_NOTES)" "$(cat $TRANSLATIONS)" "$(cat NEWS)" > NEWS
    cleanup
    git diff NEWS
fi
