LifePlay-Revival/Docs/Migration/etat/U58/U7/U7-T8-BUILD.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

93 lines
11 KiB
Markdown

Fiche U7-T8 — Niveau N0 — Modèle prévu lp-builder | utilisé claude-haiku-5-5 — Agent lp-builder — Skills lp-build, ue-cpp-build, sk-windows-shell, sk-protocol
# U7-T8 — Compilation et empaquetage UE 5.8 avec garde des mods (LPModGuard) : OK
**Verdict : OK.** Éditeur 0 erreur / 0 avertissement ; jeu 0 erreur / 0 avertissement ; empaquetage code UAT 0, `LifePlay.exe` présent. Aucun avertissement nouveau par rapport à U6 (le seul avertissement est celui de cuisson U6 à l'identique). Aucune correction, aucun commit, aucune modification de source, config ou Content.
## 0. Préambule : marqueur
[sk-protocol] — skills présents dans le contexte : sk-protocol, sk-windows-shell, lp-build, ue-cpp-build.
## 1. Contrôles de départ (établi)
- Copie : `D:\Game\LifePlay-master 5.8`, `git -C ... branch --show-current` = `ue5.8`.
- `git -C "D:\Game\LifePlay-master 5.8" status --short` : 9 fichiers modifiés (`M`) et 2 non suivis (`??`), conformes à la fiche : `Config/DefaultGame.ini`, `Source/LifePlay/LPHairstyleSubsystem.{cpp,h}`, `LPModDailies.{cpp,h}`, `LPModInfoSubsystem.{cpp,h}`, `LPSettingsSubsystem.cpp`, `LifePlay.cpp` ; `?? Source/LifePlay/LPModGuard.cpp`, `?? Source/LifePlay/LPModGuard.h`. Rien commité.
- `LifePlay.uproject` ligne 3 : `"EngineAssociation": "5.8"`.
- `Mods\` : présent, vide (`ls -la`, seulement `.` et `..`). Vérifié avant et après le build : toujours vide.
- Processus : `tasklist` filtré sur `UnrealEditor|UnrealBuildTool|dotnet` : 0 ligne. Aucun éditeur ouvert.
- `Source/LifePlay/LPModGuard.h` (4297 o) et `.cpp` (19867 o) présents.
- Archive cible `D:\Game\LifePlay_Build_5.8_U7` : absente avant lancement.
- `D:\Game\LifePlay_Build_5.8_Development` (référence U6) : présente, non modifiée (`LifePlay.exe` daté 2026-10-08 22:16).
## 2. Commandes exactes, codes de sortie, durées
Interpréteur : pwsh 7 (`pwsh -NoProfile -Command "..."`). Répertoire : `D:\Game\LifePlay-master 5.8`. Moteur : `D:\Game\Launcher\Engine\UE_5.8\Engine` (lu par `Tools\Engine.ps1`, `EngineAssociation` 5.8). Lancements en arrière-plan, attente par notification.
| Étape | Commande | Code | Durée | Journal | Résumé |
|---|---|---|---|---|---|
| a. Éditeur | `.\Tools\Build.ps1 -Lot U7` | 0 | 45 s (`Total execution time: 43.39 s`) | `Saved\Logs\portage\U7_Build_20261009-022040.log` | `Docs\Migration\etat\U7_Build_20261009-022040.txt` |
| b. Jeu | `.\Tools\Build.ps1 -Lot U7 -Target LifePlay -ExtraArgs '-NoUBA'` (= `Build.bat LifePlay Win64 Development "-Project=..." -WaitMutex -NoHotReloadFromIDE -NoUBA`) | 0 | 39 s (`38.54 s`) | `Saved\Logs\portage\U7_Build_20261009-022618.log` | `Docs\Migration\etat\U7_Build_20261009-022618.txt` |
| c. Empaquetage | `.\Tools\BuildDebug.ps1 -Config Development -SkipBuild -ArchiveDir 'D:\Game\LifePlay_Build_5.8_U7'` | 0 (wrapper) ; **UAT 0** | 192 s (`UAT code=0 duree=192s`) | `Saved\Logs\portage\BuildDebug_Development_20261009-023028.log` (+ `.cmd`) | console du script, pas de résumé compté |
Les trois codes ont été vérifiés contre le journal, pas seulement contre le wrapper : étape a `Result: Succeeded` ; étape b `Result: Succeeded` ; étape c `BUILD SUCCESSFUL` et `AutomationTool exiting with ExitCode=0 (Success)` (journal ligne 700, 702).
## 3. Étape a — éditeur `LifePlayEditor` (établi)
- Chaîne MSVC : `Using Visual Studio 14.50.35739 toolchain (C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717)` = `CompilerVersion=14.50.35717` épinglé (concordant avec U6).
- Makefile : `Invalidating makefile for LifePlayEditor (source file added)` (journal ligne 8) : makefile recréé. Le champ `Makefile` du résumé est **vide** : voir § 7 (écart du script).
- Unités compilées (8 selon le résumé, dont `LPModGuard.cpp`) : LifePlay.cpp, LPHairstyleSubsystem.cpp, LPModDailies.cpp, LPModGuard.cpp, LPModInfoSubsystem.cpp, LPSettingsSubsystem.cpp, Module.LifePlay.cpp, LPPatchDailiesCommandlet.cpp (pour le module éditeur `LifePlayEditor`, LPPatchDailiesCommandlet est aussi recompilé).
- DLL liées : `UnrealEditor-LifePlay.dll`, `UnrealEditor-LifePlayEditorTools.dll` (journal lignes 10 à 12).
- Erreurs : **0**. Avertissements : **0**. Autres lignes d'erreur/avertissement (UBT, UHT, liens) : **0**.
- Mode UBA (Unreal Build Accelerator) utilisé pour l'éditeur : la fiche ne demande `-NoUBA` que pour le jeu (étape b) ; respecté tel quel.
- Adaptive Build : `Excluded from LifePlay unity file: ... LPModGuard.cpp ...` (compilé seul, comportement normal).
- Addon `LPSandbox` : `grep -c -i LPSandbox` sur le journal = 0 (même constat qu'en U6-T2). Son absence est due au fait que ses modules n'ont pas été modifiés ni relancés ; présence de la chaîne addon dans ce build : **incertaine** (non établie).
## 4. Étape b — jeu `LifePlay` avec `-NoUBA` (établi)
- Chaîne MSVC identique (14.50.35717).
- Makefile : `Creating makefile for LifePlay (command line arguments changed)` (recréé).
- Unités compilées (7, `[NoUba]`) : LifePlay.cpp, LPHairstyleSubsystem.cpp, LPModDailies.cpp, **LPModGuard.cpp**, LPModInfoSubsystem.cpp, LPSettingsSubsystem.cpp, Module.LifePlay.cpp.
- Lien : `[8/9] Link [x64] LifePlay.exe [NoUba]` ; `Output binary: D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe` (330 681 344 o, 02:26).
- Erreurs : **0**. Avertissements : **0**. Autres : **0**.
- Note : le journal ne contient aucune erreur MSVC C1001 / C2206 (cause de l'échec U6 essais 1-2).
## 5. Étape c — empaquetage sans recompilation (établi)
- Commande UAT émise (`BuildDebug_Development_20261009-023028.cmd`) : `RunUAT.bat BuildCookRun -project="D:\Game\LifePlay-master 5.8\LifePlay.uproject" -platform=Win64 -clientconfig=Development -cook -iterate -stage -pak -iostore -compressed -archive -archivedirectory="D:\Game\LifePlay_Build_5.8_U7" -unattended -utf8output -nop4` (pas de `-build`, car `-SkipBuild`).
- Code UAT : **0** (ligne console `UAT code=0 duree=192s`, journal ligne 702).
- Cuisson : `LogInit: Display: Success - 0 error(s), 1 warning(s)` (journal ligne 446). Erreurs de cuisson : **0**. Avertissement de cuisson : **1**, identique à U6 : `LogCook: Warning: CookIncremental and UnversionedCookedContent were requested, but LegacyIterative is required due to ZenStore not being used` (journal ligne 189). Nouveau par rapport à U6 : **non**.
- Pak : `UnrealPak.exe` ExitCode=0 (lignes 555, 687). Stage : 7 `.bat` copiés (`bats staged=7`). `pdb copies=0` (script).
- Archive : `D:\Game\LifePlay_Build_5.8_U7` = 2,5 Go (`du -sh`), identique en taille à l'archive U6 (2,5 Go).
- **`D:\Game\LifePlay_Build_5.8_U7\Windows\LifePlay.exe` : présent** (301 568 o, lanceur racine, même taille que le lanceur U6 `D:\Game\LifePlay_Build_5.8_Development\Windows\LifePlay.exe`).
- Exécutable du jeu : `D:\Game\LifePlay_Build_5.8_U7\Windows\LifePlay\Binaries\Win64\LifePlay.exe` (330 681 344 o) : `cmp` identique à `D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe` (SAME, établi).
- `LifePlay.pdb` présent dans `Windows\LifePlay\Binaries\Win64` (375 189 504 o), comme dans l'archive U6 (374 788 096 o) : même comportement UAT, pas de changement.
- Lanceurs de session `LifePlay_debug_*.bat` (7) et `LifePlay_debug_ui.ps1` présents à côté du lanceur, comme en U6.
- Le jeu n'a pas été lancé (interdit par la fiche).
## 6. Décomptes (recomptés par `Build.ps1 -FromLog`)
Commande : `.\Tools\Build.ps1 -Lot U7 -FromLog <journal>` (code de sortie du script 0 ; « code de sortie : -1 » dans le résumé, valeur attendue en mode -FromLog).
- Journal éditeur `U7_Build_20261009-022040.log` : erreurs 0 ; avertissements 0 ; autres 0 ; unités 8.
- Journal jeu `U7_Build_20261009-022618.log` : erreurs 0 ; avertissements 0 ; autres 0 ; unités 7 ; `Makefile : Creating makefile for LifePlay`.
- Note : les deux recomptages ont été écrits dans le même fichier (`Docs\Migration\etat\U7_BuildLog_20261009-023551.txt`, même horodatage à la seconde) ; le second écrase le premier. Le recomptage éditeur n'est donc conservé que dans la sortie console (`erreurs=0 avertissements=0 autres=0 unites=8`).
## 7. Écarts et points à confirmer
1. **Makefile non reconnu (éditeur)** : `Build.ps1` cherche `Creating makefile|Target is up to date|Using existing makefile` ; le journal éditeur porte `Invalidating makefile ... (source file added)` (ligne 8). Champ vide dans le résumé ; makefile bien recréé. Écart du script, non corrigé (interdit).
2. **Unités et DLL (jeu)** : le résumé compte `DLL liees : 0` car le jeu lie `LifePlay.exe` (pas un `.dll`). Écart du script, non corrigé.
3. **Addon LPSandbox** : non établi dans le journal (0 occurrence, comme U6). Non requis par la fiche U7-T8.
4. **Cuisson** : l'avertissement LegacyIterative est connu (U6-T2 essai 4) ; non corrigé (hors fiche).
5. **Mode UBA** : éditeur compilé avec UBA (fiche silencieuse sur l'éditeur), jeu avec `-NoUBA` comme demandé.
## 8. Fichiers et journaux
- Journaux : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\U7_Build_20261009-022040.log` ; `...\U7_Build_20261009-022618.log` ; `...\BuildDebug_Development_20261009-023028.log` ; `...\BuildDebug_Development_20261009-023028.cmd`.
- Résumés comptés (générés par les scripts, dans la copie 5.8) : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\U7_Build_20261009-022040.txt` ; `...\U7_Build_20261009-022618.txt` ; `...\U7_BuildLog_20261009-023551.txt`.
- Sorties console : `%USERPROFILE%\AppData\Local\Temp\claude\D--Game-LifePlay-master-5-5\ab8918a1-261f-45b4-904a-678ecfce98f7\scratchpad\U7_editor_stdout.txt`, `U7_game_stdout.txt`, `U7_pack_stdout.txt`.
- Build empaqueté : `D:\Game\LifePlay_Build_5.8_U7\Windows\LifePlay.exe`.
- Référence U6 consultée (lecture seule) : `D:\Game\LifePlay-master 5.5\Docs\Migration\etat\U58\U6\U6-T2-BUILD.md`.
- Rien écrit dans `D:\Game\LifePlay_Build_5.8_Development`. Rien touché dans `D:\Game\LifePlay-master 5.5` hors ce livrable.
## 9. Critère (fiche § 8)
- 0 erreur : **atteint** (éditeur 0, jeu 0, cuisson 0 erreur).
- Aucun avertissement nouveau vs U6 : **atteint** (compilateur 0 ; cuisson : 1, identique à U6).
- Build empaqueté présent : **atteint** (`D:\Game\LifePlay_Build_5.8_U7\Windows\LifePlay.exe`).
- Mods vide : **atteint** (avant et après).
## 10. Niveau de preuve
- Établi : codes de sortie et journaux (§ 2 à 5), comptes par `-FromLog` (§ 6), `cmp`, `ls`, `du`, `git status`, `tasklist`.
- Estimé : l'écart de makefile et de DLL sont des limites du script de résumé (lues dans le code de `Tools\Build.ps1`, lignes de `$make` et `$linked`).
- Incertain : présence de la ligne addon LPSandbox dans ce build (non établie, non requise).
Suite : orchestrateur doit décider de la suite de U7 (VAL, puis passage à U7-T9 ou autre lot) ; état : U7-T8 OK, archive `D:\Game\LifePlay_Build_5.8_U7` produite, jeu non lancé, aucun commit.