diff --git a/CONFIG.md b/CONFIG.md index b307b7f..c305a60 100755 --- a/CONFIG.md +++ b/CONFIG.md @@ -15,9 +15,16 @@ uptodown-dlurl = "https://app.en.uptodown.com/android" ## If you'd like to get to know more about other options: There exists an example below with all defaults shown and all the keys explicitly set. -All keys are optional (except download urls) and are assigned to their default values if not set explicitly. +**All keys are optional** (except download urls) and are assigned to their default values if not set explicitly. ```toml +patches-source = "revanced/revanced-patches" # where to fetch patches bundle from. default: "revanced/revanced-patches" +integrations-source = "revanced/revanced-integrations" # where to fetch integrations from. default: "revanced/revanced-integrations" +rv-brand = "ReVanced Extended" # rebrand from 'ReVanced' to something different. default: "ReVanced" + +patches-version = "v2.160.0" # locks the patches version. default: latest available +integrations-version = "v0.95.0" # locks the integrations version. default: latest available + [Some-App] app-name = "SomeApp" # if set, app name becomes SomeApp instead of Some-App. default is same as table name, which is 'Some-App' here. # this affects the release name and stuff like that diff --git a/build.sh b/build.sh index d5e29d1..2447959 100755 --- a/build.sh +++ b/build.sh @@ -3,7 +3,7 @@ set -euo pipefail source utils.sh -trap "rm -rf temp/tmp.*" INT +trap "rm -rf temp/tmp.*; exit 1" INT : >build.md @@ -29,6 +29,8 @@ ENABLE_MAGISK_UPDATE=$(toml_get "$main_config_t" enable-magisk-update) || abort PARALLEL_JOBS=$(toml_get "$main_config_t" parallel-jobs) || abort "ERROR: parallel-jobs is missing" BUILD_MINDETACH_MODULE=$(toml_get "$main_config_t" build-mindetach-module) || abort "ERROR: build-mindetach-module is missing" LOGGING_F=$(toml_get "$main_config_t" logging-to-file) && vtf "$LOGGING_F" "logging-to-file" || LOGGING_F=false +CONF_PATCHES_VER=$(toml_get "$main_config_t" patches-version) || CONF_PATCHES_VER= +CONF_INTEGRATIONS_VER=$(toml_get "$main_config_t" integrations-version) || CONF_INTEGRATIONS_VER= PATCHES_SRC=$(toml_get "$main_config_t" patches-source) || PATCHES_SRC="revanced/revanced-patches" INTEGRATIONS_SRC=$(toml_get "$main_config_t" integrations-source) || INTEGRATIONS_SRC="revanced/revanced-integrations" diff --git a/utils.sh b/utils.sh index 5f149ae..793a44f 100755 --- a/utils.sh +++ b/utils.sh @@ -39,16 +39,27 @@ pr() { echo -e "\033[0;32m[+] ${1}\033[0m"; } get_prebuilts() { pr "Getting prebuilts" - local rv_cli_url rv_integrations_url rv_patches rv_patches_changelog rv_patches_dl rv_patches_url + local rv_cli_url rv_integrations_url rv_patches rv_patches_changelog rv_patches_dl rv_patches_url rv_integrations_rel rv_patches_rel rv_cli_url=$(gh_req "https://api.github.com/repos/j-hc/revanced-cli/releases/latest" - | json_get 'browser_download_url') || return 1 RV_CLI_JAR="${PREBUILTS_DIR}/${rv_cli_url##*/}" log "CLI: ${rv_cli_url##*/}" - rv_integrations_url=$(gh_req "https://api.github.com/repos/${INTEGRATIONS_SRC}/releases/latest" - | json_get 'browser_download_url') + if [ "$CONF_INTEGRATIONS_VER" ]; then + rv_integrations_rel="https://api.github.com/repos/${INTEGRATIONS_SRC}/releases/tags/${CONF_INTEGRATIONS_VER}" + else + rv_integrations_rel="https://api.github.com/repos/${INTEGRATIONS_SRC}/releases/latest" + fi + if [ "$CONF_PATCHES_VER" ]; then + rv_patches_rel="https://api.github.com/repos/${PATCHES_SRC}/releases/tags/${CONF_PATCHES_VER}" + else + rv_patches_rel="https://api.github.com/repos/${PATCHES_SRC}/releases/latest" + fi + + rv_integrations_url=$(gh_req "$rv_integrations_rel" - | json_get 'browser_download_url') RV_INTEGRATIONS_APK="${PREBUILTS_DIR}/${rv_integrations_url##*/}" log "Integrations: ${rv_integrations_url##*/}" - rv_patches=$(gh_req "https://api.github.com/repos/${PATCHES_SRC}/releases/latest" -) + rv_patches=$(gh_req "$rv_patches_rel" -) rv_patches_changelog=$(echo "$rv_patches" | json_get 'body' | sed 's/\(\\n\)\+/\\n/g') rv_patches_dl=$(json_get 'browser_download_url' <<<"$rv_patches") RV_PATCHES_JSON="${PREBUILTS_DIR}/patches-$(json_get 'tag_name' <<<"$rv_patches").json" @@ -160,6 +171,7 @@ get_apkmirror_vers() { if [ "$allow_alpha_version" = false ]; then local IFS=$'\n' vers=$(grep -iv "\(beta\|alpha\)" <<<"$vers") + local v local r_vers=() for v in $vers; do grep -iq "${v} \(beta\|alpha\)" <<<"$apkm_resp" || r_vers+=("$v")