ES Build and Testing - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Compilación y pruebas — Español
Home · BASIC · UO API · A–Z · Examples · Languages
Requisitos para compilar
- Windows x64 y PowerShell de 64 bits;
- .NET SDK fijado por
global.jsono un parche compatible de la misma feature band; - caché NuGet disponible o red para restaurar paquetes;
- Node.js y npm si se recompila Eclipse Theia;
- espacio libre suficiente para NativeAOT y ambas ediciones.
Comprobar los proyectos .NET
Desde la raíz del código Full:
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
El SDK debe respetar global.json. Una compilación Full correcta no reemplaza la compilación y pruebas independientes de los fuentes Without Basic.
Recompilar Basic IDE
La aplicación Theia está en external\YokoTheia:
cd .\external\YokoTheia
npm install
npm run build
No cambie el lockfile ni las dependencias Theia sin repetir toda la regresión de la IDE.
NativeAOT
El cliente Windows distribuible se verifica como NativeAOT x64. Una prueba gráfica necesita datos locales de Ultima Online; estos datos no deben incluirse en el repositorio ni en la release.
Pruebas obligatorias
- unit tests de ClassicUO Full;
- unit tests de ClassicUO Without Basic;
- tests de InjectionScript Runtime;
- tests LSP/IDE;
- compilación NativeAOT de ambos clientes sin errores;
- auditoría de paridad API sin diferencias;
- native payload probes para ambas ediciones;
- verificación del archivo extraído en una carpeta limpia.
La regresión funcional también debe cubrir selección de AutoLoad por personaje, Basic Auto Load, Basic Example, guardado de archivos, indexación completa sin scroll, Run/Debug/Pause/Continue/Step/Stop, scripts paralelos, colores de estado, localización y ausencia de Basic en la edición separada.
Auditoría API
Missing from Manual: 0
Not registered in Runtime: 0
Invalid signatures: 0
Duplicate entries: 0
Invalid Basic Script examples: 0
Verificar el archivo de publicación
- Cree el ZIP desde una carpeta staging limpia.
- Extráigalo en una nueva carpeta temporal.
- Compare el árbol y SHA-256 de cada archivo con staging.
- Repita los native payload probes de
clientyclient-without-yokosobre el contenido extraído. - Publique por separado la suma SHA-256 del ZIP.
Las pruebas automáticas no sustituyen una conexión a un servidor real. Los gumps del servidor, extensiones packet específicas del shard, resultado visual y funciones dependientes de los datos de juego también requieren prueba interactiva.