FR Build and Testing - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

Compilation et tests

Home · BASIC · UO API · A–Z · Examples · Languages

Prérequis de compilation

  • Windows x64 et PowerShell 64 bits;
  • le SDK .NET fixé par global.json, ou un patch compatible de la même feature band;
  • un cache NuGet disponible ou un accès réseau pour restaurer les paquets;
  • Node.js et npm si le payload Eclipse Theia doit être reconstruit;
  • assez d’espace disque pour NativeAOT et les deux éditions.

Utilisez la commande Windows de compilation fournie par le dépôt depuis la racine de l’édition source choisie. Son implémentation PowerShell contrôle l’environnement, exécute les tests, compile et valide le dossier de sortie. Conservez global.json et les lockfiles, sauf mise à jour volontaire suivie de tous les tests.

Vérifications .NET manuelles

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

Les arbres source complet et sans Basic doivent être restaurés, compilés et testés indépendamment. Une compilation Full réussie ne prouve pas que l’édition without-Basic est exempte de dépendances Basic UI ou Runtime.

Reconstruire Eclipse Theia

Cette étape n’est nécessaire qu’après une modification du frontend IDE ou de l’extension:

cd .\external\YokoTheia
npm install
npm run build

Ne remplacez pas le lockfile ni les versions de plateforme sans relancer les contrôles IDE et du service de langage.

NativeAOT et données de jeu

Le client final est validé comme payload Windows x64 NativeAOT. Un smoke test graphique nécessite des données Ultima Online locales, volontairement absentes du dépôt.

Domaines de vérification obligatoires

  • tests ClassicUO des deux éditions;
  • tests InjectionScript Runtime;
  • tests LSP et IDE;
  • compilations NativeAOT sans erreur;
  • conservation de l’AutoLoad choisi par personnage;
  • découverte et exécution des procédures Basic Auto Load;
  • stockage et exécution de Basic Example;
  • Save pour un nouveau fichier et un fichier existant;
  • initialisation du document entier sans défilement;
  • Run, Debug, Pause, Continue, Step et Stop;
  • scripts parallèles et marqueurs vert/jaune/arrêté;
  • parité Runtime/API Manual et exemples Basic valides;
  • localisation et isolation de l’édition sans Basic.

Vérification de l’archive

Après création du ZIP:

  1. extrayez-le dans un dossier temporaire propre;
  2. comparez l’arborescence et le hash de chaque fichier payload avec le dossier de staging;
  3. relancez les native payload probes des deux clients;
  4. publiez le SHA-256 du ZIP dans un fichier .sha256.txt adjacent.

Les tests automatiques ne remplacent pas une exécution visuelle sur un vrai serveur. Vérifiez séparément le rendu des données de jeu, les gump serveur, les paquets propres au shard et les fonctions alimentées par le serveur.