vendorcore

command
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2026 License: GPL-3.0 Imports: 12 Imported by: 0

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), поэтому обновление сводится к запуску этой команды и просмотру диффа.

Что делает:

  1. Копирует *.go из <upstream>/go_client в internal/core, кроме файлов, которые на десктопе не нужны вовсе (см. excludedFiles в rules.go).
  2. Меняет package main на package core.
  3. Применяет платформенные правки, без которых ядро не собирается под Windows и macOS (fileOverrides, generatedFiles).
  4. Превращает ядро в библиотеку: вырезает func main(), заменяет маркеры stdout на события, а log.Printf — на logf, и снимает осиротевшие импорты.
  5. Записывает 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 о том, чем он создан.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL