mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-07-28 06:23:37 +00:00
Stop involving JSON in release script
This commit is contained in:
parent
0860e859f7
commit
7124db98e3
@ -2,11 +2,10 @@
|
||||
set -e
|
||||
|
||||
# On macOS, gsed is required (brew install gnu-sed)
|
||||
# Required tools: jq, gh
|
||||
# Required tools: gh
|
||||
# The GitHub cli (gh) has to be properly authenticated
|
||||
|
||||
# These variables can be modified as needed
|
||||
MAGISK_FILES=../magisk-files
|
||||
CONFIG=config.prop
|
||||
NOTES=notes.md
|
||||
|
||||
@ -37,54 +36,6 @@ disable_version_config() {
|
||||
sed -i "s:^version=:# version=:g" $CONFIG
|
||||
}
|
||||
|
||||
# $1 = tag
|
||||
# $2 = file name
|
||||
gen_link() {
|
||||
echo "https://github.com/topjohnwu/Magisk/releases/download/$1/$2"
|
||||
}
|
||||
|
||||
# $1 = version code
|
||||
is_canary() {
|
||||
[ $(($1 % 100)) -ne 0 ]
|
||||
}
|
||||
|
||||
# $1 = json path
|
||||
# $2 = apk name
|
||||
update_json() {
|
||||
local json=$1
|
||||
local apk=$2
|
||||
local ver=$(grep_prop version $CONFIG)
|
||||
local code=$(grep_prop magisk.versionCode $GCONFIG)
|
||||
|
||||
local tag
|
||||
if is_canary $code; then
|
||||
tag="canary-$code"
|
||||
else
|
||||
tag="v$ver"
|
||||
fi
|
||||
|
||||
jq ".magisk.version=\"$ver\"|.magisk.versionCode=\"$code\"|
|
||||
.magisk.link=\"$(gen_link $tag $apk)\"|
|
||||
.magisk.note=\"$(gen_link $tag notes.md)\"" $json > ${json}.tmp
|
||||
mv ${json}.tmp $json
|
||||
}
|
||||
|
||||
update_canary_json() {
|
||||
update_json $MAGISK_FILES/canary.json app-release.apk
|
||||
update_json $MAGISK_FILES/debug.json app-debug.apk
|
||||
}
|
||||
|
||||
update_beta_json() {
|
||||
update_json $MAGISK_FILES/canary.json Magisk-v${ver}.apk
|
||||
update_json $MAGISK_FILES/debug.json app-debug.apk
|
||||
cp -vf $MAGISK_FILES/canary.json $MAGISK_FILES/beta.json
|
||||
}
|
||||
|
||||
update_stable_json() {
|
||||
update_beta_json
|
||||
cp -vf $MAGISK_FILES/beta.json $MAGISK_FILES/stable.json
|
||||
}
|
||||
|
||||
bump_canary_version() {
|
||||
# Update version code
|
||||
local code=$(grep_prop magisk.versionCode $GCONFIG)
|
||||
@ -102,20 +53,11 @@ bump_canary_version() {
|
||||
local ver=$(git rev-parse --short=8 HEAD)
|
||||
sed -i "s:version=.*:version=${ver}:g" $CONFIG
|
||||
sed -i "1s:.*:## Magisk (${ver}) (${code}):" $NOTES
|
||||
update_canary_json
|
||||
|
||||
# Commit json files
|
||||
cd $MAGISK_FILES
|
||||
git add -u .
|
||||
git status
|
||||
git commit -m "Update Canary Channel: Upstream to $ver"
|
||||
cd $CWD
|
||||
}
|
||||
|
||||
# $1 = ver, $2 = stable?
|
||||
# $1 = ver
|
||||
set_version() {
|
||||
local ver=$1
|
||||
local stable=$2
|
||||
local code=$(echo - | awk "{ print $ver * 1000 }")
|
||||
local tag="v$ver"
|
||||
|
||||
@ -123,24 +65,11 @@ set_version() {
|
||||
sed -i "s:version=.*:version=${ver}:g" $CONFIG
|
||||
sed -i "1s:.*:## $(date +'%Y.%-m.%-d') Magisk v$ver:" $NOTES
|
||||
|
||||
if $stable; then
|
||||
update_stable_json
|
||||
else
|
||||
update_beta_json
|
||||
fi
|
||||
|
||||
# Commit version code changes
|
||||
git add -u .
|
||||
git status
|
||||
git commit -m "Release Magisk v$ver" -m "[skip ci]"
|
||||
git tag $tag
|
||||
|
||||
# Commit json files
|
||||
cd $MAGISK_FILES
|
||||
git add -u .
|
||||
git status
|
||||
git commit -m "Release Magisk v$ver"
|
||||
cd $CWD
|
||||
}
|
||||
|
||||
build_apk() {
|
||||
@ -155,18 +84,10 @@ build_canary() {
|
||||
}
|
||||
|
||||
# $1 = ver
|
||||
build_beta() {
|
||||
build_public() {
|
||||
[ -z $1 ] && exit 1
|
||||
local ver=$1
|
||||
set_version $ver false
|
||||
build_apk
|
||||
}
|
||||
|
||||
# $1 = ver
|
||||
build_stable() {
|
||||
[ -z $1 ] && exit 1
|
||||
local ver=$1
|
||||
set_version $ver true
|
||||
set_version $ver
|
||||
build_apk
|
||||
}
|
||||
|
||||
@ -225,21 +146,12 @@ upload() {
|
||||
fi
|
||||
|
||||
rm -f release.md
|
||||
|
||||
# Finally upload jsons
|
||||
cd $MAGISK_FILES
|
||||
git push origin master
|
||||
cd $CWD
|
||||
}
|
||||
|
||||
revert() {
|
||||
local latest_tag=$(git describe --abbrev=0 --tags)
|
||||
|
||||
git tag -d $latest_tag
|
||||
git reset --hard HEAD~
|
||||
cd $MAGISK_FILES
|
||||
git reset --hard HEAD~
|
||||
cd $CWD
|
||||
}
|
||||
|
||||
# Use GNU sed on macOS
|
||||
@ -254,8 +166,7 @@ trap disable_version_config EXIT
|
||||
ensure_config
|
||||
case $1 in
|
||||
canary ) build_canary ;;
|
||||
beta ) build_beta $2 ;;
|
||||
stable ) build_stable $2 ;;
|
||||
public ) build_public $2 ;;
|
||||
upload ) upload $2 ;;
|
||||
revert ) revert ;;
|
||||
* ) exit 1 ;;
|
||||
|
Loading…
x
Reference in New Issue
Block a user