Documentation
¶
Overview ¶
Команда vendorcore переносит ядро qWDTT из апстрима в internal/core.
go run ./scripts/vendorcore go run ./scripts/vendorcore -upstream D:\src\proxy-turn-vk-android go run ./scripts/vendorcore -check
Единственный способ обновить ядро. Правки внутри апстримных файлов держатся механическими и живут только здесь (решение Р7 в doc/architecture.md), поэтому обновление сводится к запуску этой команды и просмотру диффа.
Что делает:
- Копирует *.go из <upstream>/go_client в internal/core, кроме файлов, которые на десктопе не нужны вовсе (см. excludedFiles в rules.go).
- Меняет package main на package core.
- Применяет платформенные правки, без которых ядро не собирается под Windows и macOS (fileOverrides, generatedFiles).
- Превращает ядро в библиотеку: вырезает func main(), заменяет маркеры stdout на события, а log.Printf — на logf, и снимает осиротевшие импорты.
- Записывает internal/core/CORE_VERSION с коммитом апстрима.
Команда идемпотентна: повторный запуск на том же апстриме даёт тот же результат. Файлы, которых нет ни в апстриме, ни в списке генерируемых, не трогаются — так собственный код (api.go, events.go) переживает обновление ядра.
-upstream — каталог клона proxy-turn-vk-android; по умолчанию — соседний с этим репозиторием. -check ничего не пишет, только сообщает, разошёлся ли internal/core с апстримом; код возврата 1, если есть расхождения.
Перенесена с PowerShell (scripts/vendor-core.ps1) и даёт тот же internal/core байт в байт, кроме строки в CORE_VERSION о том, чем он создан.