mirror of
https://github.com/j-hc/revanced-magisk-module.git
synced 2025-04-29 14:14:38 +02:00
update config_update
This commit is contained in:
parent
453c404c3c
commit
4bdc6de231
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@ -31,7 +31,7 @@ jobs:
|
||||
if git checkout origin/update build.md; then
|
||||
UPDATE_CFG=$(./build.sh config.toml --config-update)
|
||||
if [ "$UPDATE_CFG" ]; then
|
||||
echo "$UPDATE_CFG" > config.toml
|
||||
echo "$UPDATE_CFG" > config.json
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -45,7 +45,7 @@ jobs:
|
||||
echo "NEXT_VER_CODE=$((TAG + 1))" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build modules/APKs
|
||||
run: ./build.sh config.toml
|
||||
run: if [ -f "config.json" ]; then ./build.sh config.json; else ./build.sh config.toml; fi
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_REPOSITORY: $GITHUB_REPOSITORY
|
||||
|
14
build.sh
14
build.sh
@ -10,7 +10,7 @@ if [ "${1-}" = "clean" ]; then
|
||||
fi
|
||||
|
||||
source utils.sh
|
||||
get_prebuilts
|
||||
set_prebuilts
|
||||
|
||||
vtf() { if ! isoneof "${1}" "true" "false"; then abort "ERROR: '${1}' is not a valid option for '${2}': only true or false is allowed"; fi; }
|
||||
|
||||
@ -22,7 +22,6 @@ if ! PARALLEL_JOBS=$(toml_get "$main_config_t" parallel-jobs); then
|
||||
if [ "$OS" = Android ]; then PARALLEL_JOBS=1; else PARALLEL_JOBS=$(nproc); fi
|
||||
fi
|
||||
REMOVE_RV_INTEGRATIONS_CHECKS=$(toml_get "$main_config_t" remove-rv-integrations-checks) || REMOVE_RV_INTEGRATIONS_CHECKS="true"
|
||||
|
||||
DEF_PATCHES_VER=$(toml_get "$main_config_t" patches-version) || DEF_PATCHES_VER="latest"
|
||||
DEF_CLI_VER=$(toml_get "$main_config_t" cli-version) || DEF_CLI_VER="latest"
|
||||
DEF_PATCHES_SRC=$(toml_get "$main_config_t" patches-source) || DEF_PATCHES_SRC="ReVanced/revanced-patches"
|
||||
@ -41,20 +40,23 @@ if [ "$ENABLE_MAGISK_UPDATE" = true ] && [ -z "${GITHUB_REPOSITORY-}" ]; then
|
||||
pr "You are building locally. Magisk updates will not be enabled."
|
||||
ENABLE_MAGISK_UPDATE=false
|
||||
fi
|
||||
# -----------------
|
||||
|
||||
if ((COMPRESSION_LEVEL > 9)) || ((COMPRESSION_LEVEL < 0)); then abort "compression-level must be within 0-9"; fi
|
||||
|
||||
# -- check_deps --
|
||||
jq --version >/dev/null || abort "\`jq\` is not installed. install it with 'apt install jq' or equivalent"
|
||||
java --version >/dev/null || abort "\`openjdk 17\` is not installed. install it with 'apt install openjdk-17-jre' or equivalent"
|
||||
zip --version >/dev/null || abort "\`zip\` is not installed. install it with 'apt install zip' or equivalent"
|
||||
# ----------------
|
||||
|
||||
rm -rf revanced-magisk/bin/*/tmp.*
|
||||
if [ "$(echo "$TEMP_DIR"/*-rv/changelog.md)" ]; then
|
||||
: >"$TEMP_DIR"/*-rv/changelog.md || :
|
||||
fi
|
||||
|
||||
mkdir -p ${MODULE_TEMPLATE_DIR}/bin/arm64 ${MODULE_TEMPLATE_DIR}/bin/arm ${MODULE_TEMPLATE_DIR}/bin/x86 ${MODULE_TEMPLATE_DIR}/bin/x64
|
||||
gh_dl "${MODULE_TEMPLATE_DIR}/bin/arm64/cmpr" "https://github.com/j-hc/cmpr/releases/latest/download/cmpr-arm64-v8a"
|
||||
gh_dl "${MODULE_TEMPLATE_DIR}/bin/arm/cmpr" "https://github.com/j-hc/cmpr/releases/latest/download/cmpr-armeabi-v7a"
|
||||
gh_dl "${MODULE_TEMPLATE_DIR}/bin/x86/cmpr" "https://github.com/j-hc/cmpr/releases/latest/download/cmpr-x86"
|
||||
gh_dl "${MODULE_TEMPLATE_DIR}/bin/x64/cmpr" "https://github.com/j-hc/cmpr/releases/latest/download/cmpr-x86_64"
|
||||
|
||||
declare -A cliriplib
|
||||
idx=0
|
||||
for table_name in $(toml_get_table_names); do
|
||||
|
38
utils.sh
38
utils.sh
@ -10,7 +10,14 @@ if [ "${GITHUB_TOKEN-}" ]; then GH_HEADER="Authorization: token ${GITHUB_TOKEN}"
|
||||
NEXT_VER_CODE=${NEXT_VER_CODE:-$(date +'%Y%m%d')}
|
||||
OS=$(uname -o)
|
||||
|
||||
toml_prep() { __TOML__=$($TOML --output json --file "$1" .); }
|
||||
toml_prep() {
|
||||
if [ ! -f "$1" ]; then return 1; fi
|
||||
if [ "${1##*.}" == toml ]; then
|
||||
__TOML__=$($TOML --output json --file "$1" .)
|
||||
elif [ "${1##*.}" == json ]; then
|
||||
__TOML__=$(cat "$1")
|
||||
else abort "config extension not supported"; fi
|
||||
}
|
||||
toml_get_table_names() { jq -r -e 'to_entries[] | select(.value | type == "object") | .key' <<<"$__TOML__"; }
|
||||
toml_get_table_main() { jq -r -e 'to_entries | map(select(.value | type != "object")) | from_entries' <<<"$__TOML__"; }
|
||||
toml_get_table() { jq -r -e ".\"${1}\"" <<<"$__TOML__"; }
|
||||
@ -110,7 +117,7 @@ get_rv_prebuilts() {
|
||||
echo
|
||||
}
|
||||
|
||||
get_prebuilts() {
|
||||
set_prebuilts() {
|
||||
APKSIGNER="${BIN_DIR}/apksigner.jar"
|
||||
if [ "$OS" = Android ]; then
|
||||
local arch
|
||||
@ -122,21 +129,13 @@ get_prebuilts() {
|
||||
HTMLQ="${BIN_DIR}/htmlq/htmlq-x86_64"
|
||||
TOML="${BIN_DIR}/toml/tq-x86_64"
|
||||
fi
|
||||
mkdir -p ${MODULE_TEMPLATE_DIR}/bin/arm64 ${MODULE_TEMPLATE_DIR}/bin/arm ${MODULE_TEMPLATE_DIR}/bin/x86 ${MODULE_TEMPLATE_DIR}/bin/x64
|
||||
gh_dl "${MODULE_TEMPLATE_DIR}/bin/arm64/cmpr" "https://github.com/j-hc/cmpr/releases/latest/download/cmpr-arm64-v8a"
|
||||
gh_dl "${MODULE_TEMPLATE_DIR}/bin/arm/cmpr" "https://github.com/j-hc/cmpr/releases/latest/download/cmpr-armeabi-v7a"
|
||||
gh_dl "${MODULE_TEMPLATE_DIR}/bin/x86/cmpr" "https://github.com/j-hc/cmpr/releases/latest/download/cmpr-x86"
|
||||
gh_dl "${MODULE_TEMPLATE_DIR}/bin/x64/cmpr" "https://github.com/j-hc/cmpr/releases/latest/download/cmpr-x86_64"
|
||||
}
|
||||
|
||||
config_update() {
|
||||
if [ ! -f build.md ]; then abort "build.md not available"; fi
|
||||
declare -A sources
|
||||
: >"$TEMP_DIR"/skipped
|
||||
local conf=""
|
||||
# shellcheck disable=SC2154
|
||||
conf+=$(sed '1d' <<<"$main_config_t")
|
||||
conf+=$'\n'
|
||||
local upped=()
|
||||
local prcfg=false
|
||||
for table_name in $(toml_get_table_names); do
|
||||
if [ -z "$table_name" ]; then continue; fi
|
||||
@ -146,10 +145,7 @@ config_update() {
|
||||
PATCHES_SRC=$(toml_get "$t" patches-source) || PATCHES_SRC=$DEF_PATCHES_SRC
|
||||
PATCHES_VER=$(toml_get "$t" patches-version) || PATCHES_VER=$DEF_PATCHES_VER
|
||||
if [[ -v sources["$PATCHES_SRC/$PATCHES_VER"] ]]; then
|
||||
if [ "${sources["$PATCHES_SRC/$PATCHES_VER"]}" = 1 ]; then
|
||||
conf+="$t"
|
||||
conf+=$'\n'
|
||||
fi
|
||||
if [ "${sources["$PATCHES_SRC/$PATCHES_VER"]}" = 1 ]; then upped+=("$table_name"); fi
|
||||
else
|
||||
sources["$PATCHES_SRC/$PATCHES_VER"]=0
|
||||
local rv_rel="https://api.github.com/repos/${PATCHES_SRC}/releases"
|
||||
@ -167,15 +163,21 @@ config_update() {
|
||||
if ! OP=$(grep "^Patches: ${PATCHES_SRC%%/*}/" build.md | grep "$last_patches"); then
|
||||
sources["$PATCHES_SRC/$PATCHES_VER"]=1
|
||||
prcfg=true
|
||||
conf+="$t"
|
||||
conf+=$'\n'
|
||||
upped+=("$table_name")
|
||||
else
|
||||
echo "$OP" >>"$TEMP_DIR"/skipped
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [ "$prcfg" = true ]; then echo "$conf"; fi
|
||||
if [ "$prcfg" = true ]; then
|
||||
local query=""
|
||||
for table in "${upped[@]}"; do
|
||||
if [ -n "$query" ]; then query+=" or "; fi
|
||||
query+=".key == \"$table\""
|
||||
done
|
||||
jq "to_entries | map(select(${query} or (.value | type != \"object\"))) | from_entries" <<<"$__TOML__"
|
||||
fi
|
||||
}
|
||||
|
||||
_req() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user