-
Notifications
You must be signed in to change notification settings - Fork 0
Build from Source
Home · BASIC · UO API · A–Z · Examples · Languages
| Тема | Подробнее |
|---|---|
| Build from Source | Сборка через CMD |
| SDK Requirements | SDK и окружение |
| Project Structure | Исходники |
| Dependencies | Theia · Восстановление .NET |
| Native DLLs | NativeAOT · BASIC Declare |
| Build Scripts | BUILD_WINDOWS.cmd и TEST_WINDOWS.cmd |
| GitHub Actions | Проверки перед публикацией |
| Packaging | Два проекта и два клиента · Проверка архива |
- Windows x64;
- Windows PowerShell 5.1 или совместимое окружение PowerShell для сценариев;
- .NET SDK, точно указанный в
global.json(rollForwardотключён); - доступный NuGet cache либо сеть для восстановления пакетов;
- Node.js и npm для пересборки Eclipse Theia, если менялась IDE;
- достаточно свободного места для NativeAOT и двух редакций.
Версия SDK закреплена в global.json.
Из корня полной редакции запустите:
.\BUILD_WINDOWS.cmdСценарий выполняет проверку окружения, тесты, сборку и контроль выходного каталога. Результат помещается в client внутри выбранного проекта. OutputDirectory задаёт другой каталог; UoDirectory указывает данные игры для smoke test. TEST_WINDOWS.cmd запускает проверки отдельно. BUILD_TEST_WINDOWS.cmd включает тестовый режим сборки; он не заменяет финальные проверки документации.
dotnet --version
dotnet restore .\ClassicUO.sln -p:NuGetAudit=false
dotnet test .\tests\ClassicUO.UnitTests\ClassicUO.UnitTests.csproj -c Release
dotnet test .\external\InjectionScript\src\InjectionScript.Tests\InjectionScript.Tests.csproj -c Release
dotnet test .\external\InjectionScript\src\InjectionScript.Lsp.Tests\InjectionScript.Lsp.Tests.csproj -c ReleaseПакет IDE находится в external\YokoTheia; базовая платформа — Eclipse Theia.
cd .\external\YokoTheia
npm install
npm run buildНе заменяйте lockfile и версии Theia без повторного полного тестирования IDE.
Финальный Windows-клиент проверяется как NativeAOT x64. Для графического smoke test нужны локальные игровые данные Ultima Online; они не входят в репозиторий.
Редакция Classic полностью отключает Bad Newbie и Basic IDE, включая runtime, скрипты и AutoLoad. Её собирают и проверяют отдельно: успешная сборка Full не подтверждает корректность Classic. См. состав пакета.
ClassicUO - Bad Newbie & Basic IDE Edition