Lizerium Find Changes — консольный инструмент для сравнения двух версий файловой структуры, формирования списка изменений и подготовки готовой папки обновления.
- Оглавление
Important
Цель проекта — автоматически определить разницу между двумя версиями файловой структуры и подготовить содержимое обновления.
Инструмент сравнивает:
- папки
- файлы
- новые элементы
- удалённые элементы
- изменённые файлы
- перемещённые / переиспользованные файлы
После анализа он может:
- сформировать
manifest.json - собрать папку обновления только из нужных файлов
- отдельно извлечь файлы, отсутствующие в новой версии
- 📁 Сравнение двух директорий
- 📄 Поиск новых, удалённых и изменённых файлов
- 🔁 Определение файлов, которые были перенесены или повторно использованы
- 🏗 Формирование готовой папки обновления
- 📜 Генерация
manifest.json - 🧩 Извлечение файлов, которые отсутствуют в новой версии
- ⚡ Простая конфигурация через
config.json
- C#
- .NET
- Console Application
- System.Text.Json
Программа использует две директории:
Before— предыдущая версияAfter— новая версия
На основе сравнения она определяет:
- какие папки были добавлены
- какие папки были удалены
- какие файлы были изменены
- какие файлы появились впервые
- какие файлы были удалены
- какие файлы совпадают по содержимому, но имеют другой путь (
Retranslate)
После этого формируется:
manifest.jsonсо списком изменений- папка обновления с нужной структурой файлов
Программа использует файл:
config.json
Если его нет — он будет создан автоматически.
{
"Before": "C:\\Builds\\OldVersion",
"After": "C:\\Builds\\NewVersion",
"Version": "99.3.12",
"IsMissingFilesMode": false
}Before— путь до предыдущей версииAfter— путь до новой версииVersion— имя выходной папки обновленияIsMissingFilesMode— переключение режима работы
Если:
"IsMissingFilesMode": falseто программа:
- Сравнивает
BeforeиAfter - Формирует
manifest.json - Создаёт папку обновления с именем из поля
Version - Копирует в неё только необходимые изменённые / новые / переиспользуемые файлы
manifest.json- папка обновления, например:
99.3.12/
Если:
"IsMissingFilesMode": trueто программа:
- Сравнивает
BeforeиAfter - Ищет файлы, которые были в старой версии, но отсутствуют в новой
- Копирует их в отдельную папку:
MISSING/
Этот режим полезен для:
- анализа потерь файлов
- проверки неполных сборок
- восстановления содержимого
- ручной инспекции изменений
После запуска могут быть сформированы следующие данные:
Содержит список изменений между двумя версиями.
Примеры типов изменений:
AddedDeletedChangedUnchangedRetranslate
Например:
99.3.12/
Внутри неё будет лежать только то, что действительно должно быть доставлено как обновление.
Если активирован режим извлечения отсутствующих файлов:
MISSING/
C:\Builds\Freelancer_99.3.11
C:\Builds\Freelancer_99.3.12
{
"Before": "C:\\Builds\\Freelancer_99.3.11",
"After": "C:\\Builds\\Freelancer_99.3.12",
"Version": "99.3.12",
"IsMissingFilesMode": false
}После запуска будут получены:
manifest.json
99.3.12/
Эти данные можно использовать для дальнейшей упаковки и публикации обновления, например в экосистеме Lizerium Launcher.
Tip
Проект используется как часть пайплайна подготовки обновлений в экосистеме Lizerium.
Important
Для корректного результата рекомендуется сравнивать уже подготовленные и финальные сборки, а не промежуточные рабочие директории.
Developed and maintained by Dvurechensky Part of the Lizerium ecosystem
- Website: https://dvurechensky.pro
- GitHub: https://github.com/Dvurechensky