mirror of
https://github.com/j-hc/revanced-magisk-module.git
synced 2025-04-29 22:24:34 +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
|
if git checkout origin/update build.md; then
|
||||||
UPDATE_CFG=$(./build.sh config.toml --config-update)
|
UPDATE_CFG=$(./build.sh config.toml --config-update)
|
||||||
if [ "$UPDATE_CFG" ]; then
|
if [ "$UPDATE_CFG" ]; then
|
||||||
echo "$UPDATE_CFG" > config.toml
|
echo "$UPDATE_CFG" > config.json
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ jobs:
|
|||||||
echo "NEXT_VER_CODE=$((TAG + 1))" >> $GITHUB_OUTPUT
|
echo "NEXT_VER_CODE=$((TAG + 1))" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Build modules/APKs
|
- 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:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GITHUB_REPOSITORY: $GITHUB_REPOSITORY
|
GITHUB_REPOSITORY: $GITHUB_REPOSITORY
|
||||||
|
14
build.sh
14
build.sh
@ -10,7 +10,7 @@ if [ "${1-}" = "clean" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
source utils.sh
|
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; }
|
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
|
if [ "$OS" = Android ]; then PARALLEL_JOBS=1; else PARALLEL_JOBS=$(nproc); fi
|
||||||
fi
|
fi
|
||||||
REMOVE_RV_INTEGRATIONS_CHECKS=$(toml_get "$main_config_t" remove-rv-integrations-checks) || REMOVE_RV_INTEGRATIONS_CHECKS="true"
|
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_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_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"
|
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."
|
pr "You are building locally. Magisk updates will not be enabled."
|
||||||
ENABLE_MAGISK_UPDATE=false
|
ENABLE_MAGISK_UPDATE=false
|
||||||
fi
|
fi
|
||||||
# -----------------
|
|
||||||
|
|
||||||
if ((COMPRESSION_LEVEL > 9)) || ((COMPRESSION_LEVEL < 0)); then abort "compression-level must be within 0-9"; 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"
|
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"
|
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"
|
zip --version >/dev/null || abort "\`zip\` is not installed. install it with 'apt install zip' or equivalent"
|
||||||
# ----------------
|
|
||||||
rm -rf revanced-magisk/bin/*/tmp.*
|
rm -rf revanced-magisk/bin/*/tmp.*
|
||||||
if [ "$(echo "$TEMP_DIR"/*-rv/changelog.md)" ]; then
|
if [ "$(echo "$TEMP_DIR"/*-rv/changelog.md)" ]; then
|
||||||
: >"$TEMP_DIR"/*-rv/changelog.md || :
|
: >"$TEMP_DIR"/*-rv/changelog.md || :
|
||||||
fi
|
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
|
declare -A cliriplib
|
||||||
idx=0
|
idx=0
|
||||||
for table_name in $(toml_get_table_names); do
|
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')}
|
NEXT_VER_CODE=${NEXT_VER_CODE:-$(date +'%Y%m%d')}
|
||||||
OS=$(uname -o)
|
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_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_main() { jq -r -e 'to_entries | map(select(.value | type != "object")) | from_entries' <<<"$__TOML__"; }
|
||||||
toml_get_table() { jq -r -e ".\"${1}\"" <<<"$__TOML__"; }
|
toml_get_table() { jq -r -e ".\"${1}\"" <<<"$__TOML__"; }
|
||||||
@ -110,7 +117,7 @@ get_rv_prebuilts() {
|
|||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
get_prebuilts() {
|
set_prebuilts() {
|
||||||
APKSIGNER="${BIN_DIR}/apksigner.jar"
|
APKSIGNER="${BIN_DIR}/apksigner.jar"
|
||||||
if [ "$OS" = Android ]; then
|
if [ "$OS" = Android ]; then
|
||||||
local arch
|
local arch
|
||||||
@ -122,21 +129,13 @@ get_prebuilts() {
|
|||||||
HTMLQ="${BIN_DIR}/htmlq/htmlq-x86_64"
|
HTMLQ="${BIN_DIR}/htmlq/htmlq-x86_64"
|
||||||
TOML="${BIN_DIR}/toml/tq-x86_64"
|
TOML="${BIN_DIR}/toml/tq-x86_64"
|
||||||
fi
|
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() {
|
config_update() {
|
||||||
if [ ! -f build.md ]; then abort "build.md not available"; fi
|
if [ ! -f build.md ]; then abort "build.md not available"; fi
|
||||||
declare -A sources
|
declare -A sources
|
||||||
: >"$TEMP_DIR"/skipped
|
: >"$TEMP_DIR"/skipped
|
||||||
local conf=""
|
local upped=()
|
||||||
# shellcheck disable=SC2154
|
|
||||||
conf+=$(sed '1d' <<<"$main_config_t")
|
|
||||||
conf+=$'\n'
|
|
||||||
local prcfg=false
|
local prcfg=false
|
||||||
for table_name in $(toml_get_table_names); do
|
for table_name in $(toml_get_table_names); do
|
||||||
if [ -z "$table_name" ]; then continue; fi
|
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_SRC=$(toml_get "$t" patches-source) || PATCHES_SRC=$DEF_PATCHES_SRC
|
||||||
PATCHES_VER=$(toml_get "$t" patches-version) || PATCHES_VER=$DEF_PATCHES_VER
|
PATCHES_VER=$(toml_get "$t" patches-version) || PATCHES_VER=$DEF_PATCHES_VER
|
||||||
if [[ -v sources["$PATCHES_SRC/$PATCHES_VER"] ]]; then
|
if [[ -v sources["$PATCHES_SRC/$PATCHES_VER"] ]]; then
|
||||||
if [ "${sources["$PATCHES_SRC/$PATCHES_VER"]}" = 1 ]; then
|
if [ "${sources["$PATCHES_SRC/$PATCHES_VER"]}" = 1 ]; then upped+=("$table_name"); fi
|
||||||
conf+="$t"
|
|
||||||
conf+=$'\n'
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
sources["$PATCHES_SRC/$PATCHES_VER"]=0
|
sources["$PATCHES_SRC/$PATCHES_VER"]=0
|
||||||
local rv_rel="https://api.github.com/repos/${PATCHES_SRC}/releases"
|
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
|
if ! OP=$(grep "^Patches: ${PATCHES_SRC%%/*}/" build.md | grep "$last_patches"); then
|
||||||
sources["$PATCHES_SRC/$PATCHES_VER"]=1
|
sources["$PATCHES_SRC/$PATCHES_VER"]=1
|
||||||
prcfg=true
|
prcfg=true
|
||||||
conf+="$t"
|
upped+=("$table_name")
|
||||||
conf+=$'\n'
|
|
||||||
else
|
else
|
||||||
echo "$OP" >>"$TEMP_DIR"/skipped
|
echo "$OP" >>"$TEMP_DIR"/skipped
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
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() {
|
_req() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user