IT Build and Testing - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Build e test — Italiano
Home · BASIC · UO API · A–Z · Examples · Languages
Requisiti per compilare
- Windows x64 e PowerShell a 64 bit;
- .NET SDK fissato da
global.jsono patch compatibile della stessa feature band; - cache NuGet disponibile oppure rete per il restore;
- Node.js e npm se si ricompila Eclipse Theia;
- spazio libero sufficiente per NativeAOT e le due edizioni.
Verificare i progetti .NET
Dalla radice dei sorgenti 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
L’SDK deve rispettare global.json. Una build Full riuscita non sostituisce la compilazione e i test indipendenti dei sorgenti Without Basic.
Ricompilare Basic IDE
L’applicazione Theia è in external\YokoTheia:
cd .\external\YokoTheia
npm install
npm run build
Non modificare lockfile o dipendenze Theia senza rieseguire l’intera suite di regressione IDE.
NativeAOT
Il client Windows distribuibile viene verificato come NativeAOT x64. Uno smoke test grafico richiede dati locali di Ultima Online, che non devono essere inclusi nel repository o nella release.
Controlli obbligatori
- unit test ClassicUO Full;
- unit test ClassicUO Without Basic;
- test InjectionScript Runtime;
- test LSP/IDE;
- build NativeAOT di entrambi i client senza errori;
- audit di parità API senza differenze;
- native payload probes per entrambe le edizioni;
- verifica dell’archivio estratto in una cartella pulita.
Le regressioni funzionali devono coprire scelta AutoLoad per personaggio, Basic Auto Load, Basic Example, salvataggio file, indicizzazione completa senza scrolling, Run/Debug/Pause/Continue/Step/Stop, script paralleli, colori di stato, localizzazione e assenza di Basic nell’edizione separata.
Audit API
Missing from Manual: 0
Not registered in Runtime: 0
Invalid signatures: 0
Duplicate entries: 0
Invalid Basic Script examples: 0
Verificare l’archivio della release
- Creare lo ZIP da una cartella staging pulita.
- Estrarlo in una nuova cartella temporanea.
- Confrontare albero e SHA-256 di ogni file con lo staging.
- Ripetere i native payload probes di
clienteclient-without-yokosul contenuto estratto. - Pubblicare separatamente la somma SHA-256 dello ZIP.
I test automatici non sostituiscono un collegamento a un server reale. Gump del server, estensioni packet specifiche dello shard, resa visiva e funzioni dipendenti dai dati di gioco vanno controllati anche manualmente.