75 lines
7.7 KiB
Markdown
75 lines
7.7 KiB
Markdown
|
|
Fiche STB-GIB-BUILD — Niveau N1 — Modèle prévu (modèle de l'agent lp-builder, non chiffré dans la fiche) | utilisé claude-haiku-5-5 (Haiku 5.5) — Agent lp-builder — Skills sk-protocol, lp-build (sk-windows-shell, lp-doc et gabarits lus)
|
||
|
|
# STB-GIB-BUILD : compilation éditeur 5.8 après ajout de `ULPStringCompat::GetStringAtOrEmpty`, et LPTestStringCompat (2026-10-09)
|
||
|
|
|
||
|
|
## 1. Commande exacte
|
||
|
|
Copie `D:\Game\LifePlay-master 5.8`, branche `ue5.8`, HEAD `cac5b2d`. Préalables :
|
||
|
|
- `git -C 'D:\Game\LifePlay-master 5.8' status --short` : `M Source/LifePlay/LPStringCompat.cpp`, `M Source/LifePlay/LPStringCompat.h` (les deux seuls fichiers modifiés).
|
||
|
|
- `git -C 'D:\Game\LifePlay-master 5.8' diff --stat` : 2 fichiers, 10 insertions (5 + 5).
|
||
|
|
- `pwsh -NoProfile -File 'D:\Game\LifePlay-master 5.8\Tools\UeState.ps1'` : `processus=0 editeur=0 compilation=0 shaders=0 jeu=0`, code 0.
|
||
|
|
|
||
|
|
Compilation (une seule, en arrière-plan) :
|
||
|
|
`pwsh -NoProfile -File 'D:\Game\LifePlay-master 5.8\Tools\Build.ps1' -Lot STB-GIB` (LifePlayEditor Win64 Development).
|
||
|
|
|
||
|
|
Note : une première tentative de lancement a échoué avant tout démarrage de `Build.ps1` (erreur de guillemets de mon shell : `/usr/bin/bash: eval: line 1: unexpected EOF while looking for matching`, code 2). Ce n'est pas un résultat de build ; relancée une fois avec la forme ci-dessus.
|
||
|
|
|
||
|
|
Commandlet (après build code 0) :
|
||
|
|
`pwsh -NoProfile -File 'D:\Game\LifePlay-master 5.8\Tools\RunCommandlet.ps1' -Lot STB-GIB -Commandlet LPTestStringCompat` (moteur `D:\Game\Launcher\Engine\UE_5.8\Engine\Binaries\Win64\UnrealEditor-Cmd.exe`, `-run=LPTestStringCompat -unattended -nopause -nosplash -stdout -FullStdOutLogOutput`).
|
||
|
|
|
||
|
|
UeState à la fin : `processus=0 editeur=0 compilation=0 shaders=0 jeu=0`, code 0.
|
||
|
|
|
||
|
|
## 2. Code de sortie
|
||
|
|
- `Build.ps1` : **0** (résumé : `code=0 duree=45s erreurs=0 avertissements=0`).
|
||
|
|
- `RunCommandlet.ps1` : **0** (résumé commandlet : `code de sortie : 0`, `duree : 16 s`).
|
||
|
|
- Sortie `-Commandlet` mise à part, `UeState` final : 0 processus.
|
||
|
|
|
||
|
|
## 3. Modules recompilés
|
||
|
|
Résumé (`=== Unites compilees : 3`) et journal (`[1/8]` à `[8/8]`, lignes 36 à 51) :
|
||
|
|
- Compilées : `LPStringCompat.cpp` (journal l.42, exclu de l'unity l.36 : `[Adaptive Build] Excluded from LifePlay unity file: LPStringCompat.cpp`), `LPTestStringCompatCommandlet.cpp` (l.43), `Module.LifePlay.cpp` (l.46, unity qui regroupe les autres `.cpp` du module, dont `LPDataCompat.cpp` qui inclut `LPStringCompat.h` : estimé, `Grep` sur `Source`).
|
||
|
|
- Liées : `UnrealEditor-LifePlayEditorTools.dll` (l.49), `UnrealEditor-LifePlay.dll` (l.50). Le module modifié est donc recompilé et relié.
|
||
|
|
- Makefile : `Invalidating makefile for LifePlayEditor (working set of source files changed)` (journal l.8) : makefile recréé, pas réutilisé.
|
||
|
|
- UHT : `UHT processed LifePlayEditor in 8.3827986 seconds (3 generated files written)` (journal l.30) : le `UFUNCTION` ajouté dans le `.h` a été reflété.
|
||
|
|
- Actions : 8 ; `Result: Succeeded` (l.56).
|
||
|
|
|
||
|
|
## 4. Erreurs et avertissements nouveaux
|
||
|
|
Build :
|
||
|
|
- Erreurs compilateur : **0** ; avertissements compilateur : **0** (résumé `=== Erreurs du compilateur : 0`, `=== Avertissements du compilateur : 0`).
|
||
|
|
- Autres lignes (UBT) : **20**, toutes du type `Warning: Plugin 'HyperAIStudio' does not list plugin '…' as a dependency, but module 'HyperAIStudio…' depends on module '…'` (journal l.9 à l.28). Ces lignes ne sont pas dans la liste connue de `lp-build` § 7, mais elles figurent déjà dans trois journaux antérieurs de la même copie (`Saved\Logs\portage\STB-T0_Build_20261009-203918.log`, `OUT1_Build_20261009-161628.log`, `STM_Build_20261009-144519.log`, `Grep` « does not list plugin »). Elles ne sont donc pas nouvelles, et elles concernent les dépendances du plugin Marketplace HyperAIStudio, pas `LPStringCompat`.
|
||
|
|
- Nouveaux avertissements/erreurs liés au changement : **aucun**.
|
||
|
|
|
||
|
|
Commandlet :
|
||
|
|
- Erreurs : **0** (`=== Erreurs : 0 lignes`). Ligne du résultat : `Success - 0 error(s), 1 warning(s)` (log commandlet l.2002).
|
||
|
|
- « 1 warning » : c'est la ligne de résultat elle-même, émise au niveau Warning par le commandlet (log l.1995 et l.1998 à 2000 ; résumé `=== Avertissements : 2 lignes, 2 signatures` = la même ligne comptée deux fois). Ce n'est pas une erreur, mais la fiche attendait « 0 error(s) » : écart de forme noté.
|
||
|
|
|
||
|
|
## 5. Toolchain
|
||
|
|
Ligne du journal (l.35, et résumé) : `Using Visual Studio 14.50.35739 toolchain (C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).`
|
||
|
|
MSVC `14.50.35717` = version épinglée de la copie 5.8 (`lp-build` § 1) : conforme. Moteur : `D:\Game\Launcher\Engine\UE_5.8\Engine` (EngineAssociation 5.8, résumé l.4).
|
||
|
|
|
||
|
|
## 6. Preuve de chargement (addon)
|
||
|
|
Sans objet pour le nouveau code : le changement est dans le module jeu `LifePlay`, pas dans l'addon `LPSandbox`. Preuve que l'addon 5.8 est chargé pendant le test : log commandlet `LogLPAnimMeasure: PATHS racine addon D:/Game/LifePlay-Sandbox-5.8` et `LogLPSandboxMods: Modules : 7 sandbox, 16 jeu` (résumé commandlet l.13 et l.14). Non vérifié : la date des `Plugins\LPSandbox\Binaries` de l'addon (piège `lp-build` § 8) ; le test n'en dépend pas pour ce lot.
|
||
|
|
|
||
|
|
## 7. Journaux archivés
|
||
|
|
- Build, journal : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\STB-GIB_Build_20261009-205342.log`
|
||
|
|
- Build, résumé compté : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STB\STB-GIB_Build_20261009-205342.txt`
|
||
|
|
- LPTestStringCompat, journal : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\STB-GIB_LPTestStringCompat_20261009-205440.log`
|
||
|
|
- LPTestStringCompat, résumé : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STB\STB-GIB_LPTestStringCompat_20261009-205440.txt`
|
||
|
|
|
||
|
|
Rien n'a été corrigé, déplacé ni supprimé. Aucun fichier source ou config modifié. Pas de commit.
|
||
|
|
|
||
|
|
## Constats
|
||
|
|
Résultat LPTestStringCompat (établi, log l.1995 et résumé l.92) : `=== 3120 cas : compat != herite(UE4) : 0 ; moteur != herite(UE4) : 60 ===`, bilan `Success - 0 error(s), 1 warning(s)` (log l.2002), code de sortie 0. Conforme à l'attendu 3120 / 0 / 60.
|
||
|
|
|
||
|
|
Critères de la fiche (§ 8) :
|
||
|
|
- Build code 0 : oui (établi).
|
||
|
|
- Module LifePlay recompilé : oui, `LPStringCompat.cpp` et `Module.LifePlay.cpp` compilés, `UnrealEditor-LifePlay.dll` liée.
|
||
|
|
- 0 erreur : oui (compilateur 0, UBT et liens : aucune erreur, seulement les 20 avertissements HyperAIStudio connus de cette copie).
|
||
|
|
- LPTestStringCompat code 0 : oui ; 3120 / 0 / 60 : oui.
|
||
|
|
- UeState 0 à la fin : oui.
|
||
|
|
|
||
|
|
Écarts et points à confirmer :
|
||
|
|
1. **Emplacement du livrable** : le message système demandait `D:\Game\LifePlay-master 5.5\Docs\Migration\etat\U58\<lot>\`, la fiche nomme `…\etat\ST\STB\STB-GIB-BUILD.md`. J'ai écrit au chemin de la fiche, qui correspond à `Tools\EtatDir.ps1` (regex `^(ST[A-Z]?\d*[a-z]?)(?:-|$)` → projet `ST`, ligne 21) et au § 10 de `lp-build`. Si le chemin U58 était voulu, le fichier doit être déplacé (pas recopié) par l'orchestrateur.
|
||
|
|
2. Les 20 avertissements HyperAIStudio (dépendances de plugin) : à ajouter à la liste connue de `lp-build` § 7 si l'orchestrateur le juge utile ; hors du périmètre de ce lot.
|
||
|
|
3. La fiche attendait `0 error(s)` ; le moteur écrit `0 error(s), 1 warning(s)`, le warning étant la ligne de résultat. Estimé : pas un écart de fond.
|
||
|
|
4. `GetStringAtOrEmpty` n'est pas appelé par `LPTestStringCompat` (le test porte sur `Find`/`Split`/`Contains`). Le chargement de la nouvelle fonction en Blueprint n'est pas vérifié par ce lot (incertain, à tester si le lot l'exige).
|
||
|
|
|
||
|
|
Suite : orchestrateur doit décider du chemin du livrable (ST\STB ou U58\STB-GIB) et lancer la VAL du lot (lp-validate) ; état : build et commandlet terminés, résultats conformes, UeState 0.
|