Files
m2110/bash/sync-with-shelve.sh
2026-04-23 07:21:41 +03:00

48 lines
1.6 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
#
# Синххронизация локальных модов с текущей сборкой
# Можно запускать эту команды после добавления новых модов в сборку
# https://juraj-hrivnak.github.io/Pakku/pakku-sync.html
#
set -eu pipefail
pakku() { pakku-mc "$@"; }
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
REPO_ROOT="${SCRIPT_DIR}/.."
cd "${REPO_ROOT}" || exit 1
# Массив ключевых слов для идентификации кастомных модов
CUSTOM_MOD_KEYWORDS=(
"advanced-xray"
"easy-install"
"mobility"
)
# Папка для временного хранения кастомных модов
SHELF_DIR=".pakku/shelf"
mkdir -p "${SHELF_DIR}"
# Функция для перемещения кастомных модов в карман
shelve_custom_mods() {
for keyword in "${CUSTOM_MOD_KEYWORDS[@]}"; do
find mods -name "*${keyword}*" -type f -exec mv -v {} "${SHELF_DIR}" \;
done
}
# Функция для возврата кастомных модов обратно
restore_custom_mods() {
for keyword in "${CUSTOM_MOD_KEYWORDS[@]}"; do
find "${SHELF_DIR}" -name "*${keyword}*" -type f -exec mv -v {} mods \;
done
}
# Перемещаем кастомные моды в карман перед синхронизацией
shelve_custom_mods
pakku sync
# Возвращаем кастомные моды обратно
restore_custom_mods
# Перемещаем оставшиеся моды из кармана pakku
mv .pakku/shelf/* mods/ 2>/dev/null || true