hotfix config comparing, restart for update

This commit is contained in:
kirillius 2025-10-06 21:37:35 +03:00
parent 1c167b1608
commit 8763093ee7
2 changed files with 42 additions and 42 deletions

View File

@ -229,6 +229,6 @@ public class Config {
* Indicates whether the in-memory configuration diverges from the initially loaded snapshot. * Indicates whether the in-memory configuration diverges from the initially loaded snapshot.
*/ */
public boolean isModified() { public boolean isModified() {
return !initialJSON.toString().equals(serialize(this).toString()); return !initialJSON.similar(serialize(this));
} }
} }

View File

@ -102,54 +102,54 @@ download_latest_version() {
return 1 return 1
fi fi
} }
while true; do
# Находим последнюю версию файла
VER_FILE=$(find_local_version)
# Находим последнюю версию файла # Если не нашли файлы локально, скачиваем с веб-страницы
VER_FILE=$(find_local_version) if [ -z "$VER_FILE" ]; then
echo "No local .pfapp files found, downloading from repository..."
# Сохраняем вывод функции в временную переменную, чтобы показать сообщения
DOWNLOAD_OUTPUT=$(download_latest_version)
if [ $? -ne 0 ]; then
echo "Failed to download application file" >&2
exit 1
fi
# Извлекаем последнюю строку (путь к файлу) из вывода
VER_FILE=$(echo "$DOWNLOAD_OUTPUT" | tail -n 1)
# Если не нашли файлы локально, скачиваем с веб-страницы # Выводим все сообщения кроме последней строки
if [ -z "$VER_FILE" ]; then echo "$DOWNLOAD_OUTPUT" | head -n -1
echo "No local .pfapp files found, downloading from repository..." else
# Сохраняем вывод функции в временную переменную, чтобы показать сообщения # Выводим информацию о найденной локальной версии
DOWNLOAD_OUTPUT=$(download_latest_version) VER=$(basename "$VER_FILE")
if [ $? -ne 0 ]; then VER="${VER%.pfapp}"
echo "Failed to download application file" >&2 echo "Using local version: $VER"
exit 1 fi
fi
# Извлекаем последнюю строку (путь к файлу) из вывода
VER_FILE=$(echo "$DOWNLOAD_OUTPUT" | tail -n 1)
# Выводим все сообщения кроме последней строки # Извлекаем только имя файла (без пути)
echo "$DOWNLOAD_OUTPUT" | head -n -1 VER=$(basename "$VER_FILE")
else
# Выводим информацию о найденной локальной версии
VER=$(basename "$VER_FILE")
VER="${VER%.pfapp}"
echo "Using local version: $VER"
fi
# Извлекаем только имя файла (без пути) # Убираем расширение .pfapp чтобы получить чистую версию
VER=$(basename "$VER_FILE") VER="${VER%.pfapp}"
# Убираем расширение .pfapp чтобы получить чистую версию # Выводим финальную информацию о версии
VER="${VER%.pfapp}" echo "Starting application version: $VER"
# Выводим финальную информацию о версии # Функция для запуска Java
echo "Starting application version: $VER" run_java() {
java -jar "$LIBRARY/$VER.pfapp" -c="$CFGPATH" -l="$LIBRARY" -r="$REPO_URL"
# Функция для запуска Java }
run_java() {
java -jar "$LIBRARY/$VER.pfapp" -c="$CFGPATH" -l="$LIBRARY" -r="$REPO_URL"
}
# Запускаем Java с возможностью перезапуска при коде возврата 42 # Запускаем Java с возможностью перезапуска при коде возврата 42
while true; do
run_java
EXIT_CODE=$?
if [ $EXIT_CODE -eq 42 ]; then run_java
echo "Restarting application (exit code 42)..." EXIT_CODE=$?
continue
else if [ $EXIT_CODE -eq 42 ]; then
exit $EXIT_CODE echo "Restarting application (exit code 42)..."
fi continue
else
exit $EXIT_CODE
fi
done done