9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-19 14:59:32 +00:00
Files
LeavesMC/scripts/GetReleaseInfo.sh
2024-12-02 13:07:19 +08:00

74 lines
2.1 KiB
Bash

#!/usr/bin/env bash
sha256() {
sha256sum "$1" | awk '{print $1}'
}
sha1() {
sha1sum "$1" | awk '{print $1}'
}
md5() {
md5sum "$1" | awk '{print $1}'
}
prop() {
grep "${1}" gradle.properties | cut -d'=' -f2 | sed 's/\r//'
}
commitid=$(git log --pretty='%h' -1)
mcversion=$(prop mcVersion)
gradleVersion=$(prop version)
preVersion=$(prop preVersion)
tagid="$mcversion-$BUILD_NUMBER-$commitid"
jarName="leaves-$mcversion.jar"
leavesid="Leaves-$tagid"
releaseinfo="releaseinfo.md"
discordmes="discordmes.json"
make_latest=$([ "$preVersion" = "true" ] && echo "false" || echo "true")
rm -f $discordmes
rm -f $releaseinfo
mv build/libs/Leaves-leavesclip-"$gradleVersion"-mojmap.jar "$jarName"
{
echo "name=$leavesid"
echo "tag=$tagid"
echo "jar=$jarName"
echo "info=$releaseinfo"
echo "discordmes=$discordmes"
echo "pre=$preVersion"
echo "make_latest=$make_latest"
} >> "$GITHUB_ENV"
{
echo "$leavesid [![download](https://img.shields.io/github/downloads/LeavesMC/Leaves/$tagid/total?color=0)](https://github.com/LeavesMC/Leaves/releases/download/$tagid/$jarName)"
echo "====="
echo ""
if [ "$preVersion" = "true" ]; then
echo "> This is an early, experimental build. It is only recommended for usage on test servers and should be used with caution."
echo "> **Backups are mandatory!**"
echo ""
fi
echo "### Commit Message"
} >> $releaseinfo
number=$(git log --oneline master ^"$(git describe --tags --abbrev=0)" | wc -l)
git log --pretty='> [%h] %s' "-$number" >> $releaseinfo
{
echo ""
echo "### Checksum"
echo "| File | $jarName |"
echo "| ---- | ---- |"
echo "| MD5 | $(md5 "$jarName") |"
echo "| SHA1 | $(sha1 "$jarName") |"
echo "| SHA256 | $(sha256 "$jarName") |"
} >> $releaseinfo
{
echo -n "{\"content\":\"Leaves New Release\",\"embeds\":[{\"title\":\"$leavesid\",\"url\":\"https://github.com/LeavesMC/Leaves/releases/tag/$tagid\",\"fields\":[{\"name\":\"Changelog\",\"value\":\""
# shellcheck disable=SC2046
echo -n $(git log --oneline --pretty='> [%h] %s\\n' "-$number")
echo "\",\"inline\":true}]}]}"
} >> $discordmes