119 lines
14 KiB
Markdown
119 lines
14 KiB
Markdown
|
|
Fiche BUILD-COM20 — Niveau N0 — Modèle prévu non précisé dans la fiche | utilisé claude-haiku-5-5 (Haiku 5.5) — Agent lp-builder — Skills sk-protocol, sk-windows-shell, lp-build
|
||
|
|
# COMMUN-20-BUILD : build Development COMMUN-20 (menu Clavier KEY2, maisons masquées STM1, lien Discord) empaquetée (2026-10-20)
|
||
|
|
|
||
|
|
## 1. Commande exacte
|
||
|
|
|
||
|
|
Trois commandes, dans cet ordre (heures d'après les noms des journaux) :
|
||
|
|
|
||
|
|
1. `pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\Build.ps1" -Lot COMMUN-20` (16:58:40, arrière-plan)
|
||
|
|
Build LifePlayEditor Win64 Development, ligne exécutée : `Build.bat LifePlayEditor Win64 Development "-Project=D:\Game\LifePlay-master 5.8\LifePlay.uproject" -WaitMutex -NoHotReloadFromIDE`.
|
||
|
|
2. `pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\Build.ps1" -Lot COMMUN-20 -Target LifePlay -Config Development -ExtraArgs '-NoUBA'` (16:59:05, arrière-plan)
|
||
|
|
Build de la cible jeu, ligne exécutée : `Build.bat LifePlay Win64 Development "-Project=D:\Game\LifePlay-master 5.8\LifePlay.uproject" -WaitMutex -NoHotReloadFromIDE -NoUBA`.
|
||
|
|
3. `pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\BuildDebug.ps1" -Config Development -SkipBuild -ArchiveDir "D:\Game\LifePlay_Build_5.8_Development_COM20"` (16:59:22, au premier plan)
|
||
|
|
Commande UAT écrite par le script : `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_Development_COM20" -unattended -utf8output -nop4` (sans `-build`, effet de `-SkipBuild`, `BuildDebug.ps1` l. 47).
|
||
|
|
|
||
|
|
Écart à la fiche : la fiche donne la commande 3 sans `-SkipBuild`. Ajoutée pour éviter une compilation UBT hors de `Build.ps1` (règle de copie 5.8, `lp-build` § 2) ; les étapes 1 et 2 ont fait la compilation. Motif détaillé dans Constats, point 2.
|
||
|
|
|
||
|
|
Préconditions relevées : `pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\UeState.ps1"` (sortie : `processus=0 editeur=0 compilation=0`) ; dossier `D:\Game\LifePlay_Build_5.8_Development_COM20` absent (Glob : « Directory does not exist ») : archive neuve. Aucune build existante déplacée ni supprimée. Verrou 243 : non pris ni rendu par cet agent (aucune commande de verrou lancée).
|
||
|
|
|
||
|
|
## 2. Code de sortie
|
||
|
|
|
||
|
|
- Build éditeur (étape 1) : `code=0 duree=2s erreurs=0 avertissements=0 autres=20 unites=0` (sortie de `Build.ps1`, ligne 4 de la sortie de tâche). Résumé : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\COMMUN-20\COMMUN-20_Build_20261020-165840.txt` ; journal : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\COMMUN-20_Build_20261020-165840.log`.
|
||
|
|
- Build jeu (étape 2) : `code=0 duree=2s erreurs=0 avertissements=0 autres=0 unites=0`. Résumé : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\COMMUN-20\COMMUN-20_Build_20261020-165905.txt` ; journal : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\COMMUN-20_Build_20261020-165905.log`.
|
||
|
|
- UAT (étape 3) : `UAT code=0 duree=165s journal=D:\Game\LifePlay-master 5.8\Saved\Logs\portage\BuildDebug_Development_20261020-165922.log`. Code de sortie de la commande : 0.
|
||
|
|
- Durée : compilations 2 s + 2 s (sans compilation réelle) ; UAT 165 s.
|
||
|
|
- CheckPackage (sortie de l'étape 3) : `[1] PASS 0` (Manifest_NonUFSFiles_Win64.txt), `[2] PASS 0` (Manifest_UFSFiles_Win64.txt), `[3] PASS 0` (LifePlay.exe.rsp, Intermediate), `[4] PASS 0` (LifePlay.target), `Resultat : PASS (code 0)`.
|
||
|
|
|
||
|
|
Résumé de cuisson (`D:\Game\LifePlay-master 5.8\Saved\Logs\portage\BuildDebug_Development_20261020-165922.log`, comptes bruts) :
|
||
|
|
- l. 257 : `LogCook: Display: Found 164 cooked package(s) in package store.`
|
||
|
|
- l. 264 à 276 : `Cooked packages 8929 Packages Remain 0 Total 8929` (l. 275).
|
||
|
|
- l. 297 : `LogCook: Display: Packages Cooked: 166, Packages Incrementally Skipped: 8755, Packages Skipped by Platform: 8, Total Packages: 8929`.
|
||
|
|
- l. 295 : `Cook by the book total time in tick 52.927026s total time 59.910244`.
|
||
|
|
- l. 521 : `LogInit: Display: Success - 0 error(s), 1 warning(s)`.
|
||
|
|
- l. 524 : `Execution of commandlet took: 1m 0s (60.90 seconds), PeakPhysMemoryMB=5660 MB, PeakVirtMemoryMB=5724 MB`.
|
||
|
|
- Avertissement : `LegacyIterative` (l. 254 et l. 519, lignes longues, texte lu par Grep : mot `LegacyIterative` et `Warning`). Connu : même avertissement de cuisson incrémentale que COM19 (`lp-build` § 4 : `-iterate` de `BuildDebug.ps1`).
|
||
|
|
- Erreurs : aucune `LogCook: Error` ni `Error:` lue par Grep (un seul match de `Error` en l. 517, texte non lu : incertain, voir Constats).
|
||
|
|
|
||
|
|
## 3. Modules recompilés
|
||
|
|
|
||
|
|
Aucun module recompilé dans cette série. Établi :
|
||
|
|
- `COMMUN-20_Build_20261020-165840.log:29` : `Target is up to date` ; l. 30 `Using Unreal Build Accelerator local executor to run 0 action(s)` ; l. 34 `Result: Succeeded` ; l. 35 `Total execution time: 1.61 seconds`.
|
||
|
|
- `COMMUN-20_Build_20261020-165905.log:8` : `Target is up to date` ; l. 13 `Result: Succeeded` ; l. 14 `Total execution time: 1.95 seconds`.
|
||
|
|
- Cohérence des dates (commande `Get-ChildItem` sur les sources, 16:04 à 16:27 : `LPCityWaterSubsystem.cpp` 16:27:26, `LPCityWaterSubsystem.h` 16:26:35, `LPKeyboardSubsystem.cpp` 16:04:01, `LPCityWaterMask.h` 16:25:56, `LPBuildCityWaterCommandlet.cpp` 16:26:23) : toutes antérieures aux DLL éditeur `UnrealEditor-LifePlay.dll` 16:28:43 et `UnrealEditor-LifePlayEditorTools.dll` 16:28:53, elles-mêmes antérieures à `LifePlay.exe` 16:30:56. Estimé : la compilation STM1-B6 (16:28 à 16:30) contient déjà ces sources ; « Target is up to date » est donc attendu. Ce n'est pas une absence de recompilation constatée par les modules, mais une cohérence de dates.
|
||
|
|
- Conséquence : `Binaries\Win64\LifePlay.exe` reste le binaire de 16:30:56 (MD5 9F505BC9), et les DLL éditeur ne sont pas redatées. Le seul changement entre le binaire et le paquet est la cuisson des assets (section 7).
|
||
|
|
|
||
|
|
## 4. Erreurs et avertissements nouveaux
|
||
|
|
|
||
|
|
- Éditeur : `erreurs=0 avertissements=0 autres=20` (`COMMUN-20_Build_20261020-165840.txt` via la sortie de `Build.ps1`). Les 20 lignes « autres » sont les `Warning: Plugin 'HyperAIStudio' does not list plugin …` attendues pour LifePlayEditor (`lp-build` § 7 : 20 exactement).
|
||
|
|
- Jeu : `erreurs=0 avertissements=0 autres=0` (`COMMUN-20_Build_20261020-165905.txt`) : conforme à `lp-build` § 7 (0 pour la cible jeu).
|
||
|
|
- Cuisson : 0 erreur, 1 avertissement `LegacyIterative` (connu, section 2).
|
||
|
|
- Nouveaux avertissements de compilation : aucun (aucune compilation lancée).
|
||
|
|
- Comptes par code C et fichier:ligne : sans objet, aucune unité compilée (`unites=0`), donc aucun C/C4996 à compter.
|
||
|
|
|
||
|
|
## 5. Toolchain
|
||
|
|
|
||
|
|
Non établi dans ces journaux : les deux journaux `COMMUN-20_Build_20261020-165840.log` et `-165905.log` ne contiennent pas de ligne `Using Visual Studio` (recherche par Grep sur les deux journaux : aucun match). Le MSVC épinglé de référence est `14.50.35717` (`lp-build` § 1, ligne attendue `Using Visual Studio 14.50.35739 toolchain (…\MSVC\14.50.35717)`) ; le présent lot ne le confirme pas, faute de compilation. Sans objet pour cette build, mais à ne pas tenir pour vérifié.
|
||
|
|
|
||
|
|
## 6. Preuve de chargement (addon)
|
||
|
|
|
||
|
|
sans objet : la fiche ne demande pas de preuve d'addon et le jeu n'a pas été lancé.
|
||
|
|
|
||
|
|
## 7. Journal archivé et empreintes
|
||
|
|
|
||
|
|
- Journal de cuisson : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\BuildDebug_Development_20261020-165922.log`.
|
||
|
|
- Journaux de compilation : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\COMMUN-20_Build_20261020-165840.log` et `…\COMMUN-20_Build_20261020-165905.log`.
|
||
|
|
- Résumés : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\COMMUN-20\COMMUN-20_Build_20261020-165840.txt` et `…-165905.txt` (dossier hors table de `Tools\EtatDir.ps1` : voir Écarts).
|
||
|
|
- Archive : `D:\Game\LifePlay_Build_5.8_Development_COM20` (dossier neuf, 2108 fichiers, comptés par `Get-ChildItem -Recurse -File`).
|
||
|
|
|
||
|
|
Empreintes (commande `Get-FileHash -Algorithm MD5` et `Get-Item`, sorties brutes) :
|
||
|
|
- Exe jeu empaqueté `D:\Game\LifePlay_Build_5.8_Development_COM20\Windows\LifePlay\Binaries\Win64\LifePlay.exe` : MD5 `9F505BC9DDE866A0CFADBCDDFF251C35`, date `20/10/2026 16:30:56`, taille 335842304 o. Le chemin est celui que cite CheckPackage (`exe archive`).
|
||
|
|
- Exe du projet `D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe` : MD5 `9F505BC9DDE866A0CFADBCDDFF251C35`, date `20/10/2026 16:30:56`, taille 335842304 o. Identique à l'exe packagé et à l'empreinte de la fiche (9f505bc9).
|
||
|
|
- Lanceur `D:\Game\LifePlay_Build_5.8_Development_COM20\Windows\LifePlay.exe` : MD5 `E0A8016F67B00663CE892BCBA1E13B51`, date `20/10/2026 17:00:55`, taille 301568 o (lanceur UAT, non le binaire du jeu).
|
||
|
|
|
||
|
|
Preuve de cuisson des deux assets (fichiers cuits sous `Saved\Cooked`, dates `Get-ChildItem`) :
|
||
|
|
- `D:\Game\LifePlay-master 5.8\Saved\Cooked\Windows\LifePlay\Content\UI\MainMenu.uasset` : date `20/10/2026 17:00:47`, taille 102655 o. Source `Content\UI\MainMenu.uasset` : MD5 `2815910E8A7F0F48A9FDB1E172C7EAC5`, date 16:37:32, taille 2245771 o. Cuit après la modification de la source.
|
||
|
|
- `D:\Game\LifePlay-master 5.8\Saved\Cooked\Windows\LifePlay\Content\Heavy\StreetMap\Water\CentralLondon_Mask.uasset` : date `20/10/2026 17:00:51`, taille 749 o. Source `Content\Heavy\StreetMap\Water\CentralLondon_Mask.uasset` : MD5 `F6F684B295B31298F8FB747F4F5946F4`, date 16:29:52, taille 2712 o. Cuit après la création de la source (cuit plus petit : compression, à ne pas comparer en taille).
|
||
|
|
- Limite : la présence de ces deux paquets dans le `.pak` de l'archive n'est pas établie (l'archive est en `-pak -iostore`, pas de fichier loose ; le journal ne liste pas les paquets par nom). La preuve retenue est le fichier cuit daté dans `Saved\Cooked`.
|
||
|
|
|
||
|
|
Trace :
|
||
|
|
```
|
||
|
|
Trace : D:\Game\LifePlay-master 5.8\Saved\Logs\portage\BuildDebug_Development_20261020-165922.log — Fiche COMMUN-20 (BUILD) — 2026-10-20 16:58:40 à 17:02
|
||
|
|
Commande : Build.ps1 -Lot COMMUN-20 (éditeur) ; Build.ps1 -Lot COMMUN-20 -Target LifePlay -Config Development -ExtraArgs '-NoUBA' ; BuildDebug.ps1 -Config Development -SkipBuild -ArchiveDir "D:\Game\LifePlay_Build_5.8_Development_COM20"
|
||
|
|
Environnement: copie 5.8, branche ue5.8, moteur UE 5.8 (UE_5.8) ; éditeur et compilation arrêtés (UeState processus=0 avant et après) ; machine non calme non mesurée.
|
||
|
|
Attendu : compilations « Target is up to date » (sources plus anciennes que le binaire), UAT code 0, CheckPackage PASS, exe jeu MD5 9F505BC9 (fiche), cuisson des deux assets datée après 16:37.
|
||
|
|
Obtenu : compilations code 0 (2 s chacune, 0 unité) ; UAT code 0 (165 s) ; CheckPackage PASS (code 0) ; exe jeu MD5 9F505BC9 16:30:56 ; MainMenu cuit 17:00:47, CentralLondon_Mask cuit 17:00:51.
|
||
|
|
Lecture : « Target is up to date » et code 0 n'attestent pas une compilation ; la cohérence repose sur les dates des sources (section 3). `pdb copies=0` (BuildDebug, sortie de l'étape 3) : aucun *Win64-Development.pdb recopié (voir Constats). Journal sans ligne `Using Visual Studio`.
|
||
|
|
```
|
||
|
|
|
||
|
|
## Écarts à la fiche
|
||
|
|
|
||
|
|
1. Ordre et commande : compilation par `Build.ps1` avant l'empaquetage (deux étapes), puis `BuildDebug.ps1` avec `-SkipBuild` (la fiche donnait la commande sans `-SkipBuild`). Motif : règle de copie 5.8 « compile uniquement par Build.ps1 » ; l'arbitrage option A (précédents COM15 à COM19) couvre l'empaquetage, pas une compilation hors de `Build.ps1`.
|
||
|
|
2. Exécution : `BuildDebug.ps1` lancé au premier plan (la fiche demandait l'arrière-plan) ; durée 165 s, dans la limite du délai du shell.
|
||
|
|
3. Résumés de `Build.ps1` écrits dans `Docs\Migration\etat\COMMUN-20\` : le lot n'est pas dans la table de `Tools\EtatDir.ps1` (avertissement de `Build.ps1` : « lot 'COMMUN-20' hors table »). Les résumés ne sont pas dans `BOSS\COMMUN-20\`, où ce livrable est écrit.
|
||
|
|
4. Cahier de tests : non rédigé (demandé dans la même phrase de l'utilisateur ; hors fiche BUILD, à confier à une fiche séparée).
|
||
|
|
5. Aucune correction, aucune commande git en écriture, aucune suppression ni déplacement.
|
||
|
|
|
||
|
|
## Constats
|
||
|
|
|
||
|
|
1. Établi : build Development COMMUN-20 empaquetée, code 0 de chaque étape, CheckPackage PASS, archive neuve `D:\Game\LifePlay_Build_5.8_Development_COM20` créée.
|
||
|
|
2. Établi : aucune recompilation. Les deux `Build.ps1` disent « Target is up to date » ; l'exe jeu est celui de 16:30:56 (MD5 9F505BC9), identique au projet. Le lot COMMUN-20 n'a donc **rien compilé** au-delà de STM1-B6 au niveau binaire, ce qui est cohérent avec les dates des sources (section 3). Le contenu COMMUN-20 (KEY2, STM1, lien Discord) dans le binaire n'est pas prouvé (aucune recherche de symbole faite).
|
||
|
|
3. Établi : les deux assets ont été cuits (fichiers datés dans `Saved\Cooked`, 17:00:47 et 17:00:51). Non établi : leur présence dans le `.pak` de l'archive.
|
||
|
|
4. Point à confirmer : `pdb copies=0` (sortie de `BuildDebug.ps1`, étape 3) ; aucun *Win64-Development.pdb recopié depuis `Binaries\Win64`. Cause non établie (pas de PDB Development, ou motif de nom) ; sans effet sur le paquet, mais à vérifier avant tout débogage du paquet.
|
||
|
|
5. Point à confirmer : l. 517 du journal de cuisson contient les mots `Warning` et `Error` ; le texte n'a pas été lu (le compte `Success - 0 error(s), 1 warning(s)` l. 521 le contredit, mais la ligne n'est pas vérifiée).
|
||
|
|
6. Lot hors table `Tools\EtatDir.ps1` (COMMUN-20) : à ajouter par l'outillage ; non fait ici.
|
||
|
|
7. Non mesuré : tests en jeu, preuve de chargement, présence des symboles COMMUN-20 dans le binaire, comptes `Build.ps1 -FromLog`, toolchain en ligne.
|
||
|
|
|
||
|
|
Tours : 16 / 40 (estimé par l'agent ; `python -I Tools/FicheStats.py --lot BUILD-COM20` fait foi)
|
||
|
|
|
||
|
|
## Fichiers à commiter
|
||
|
|
|
||
|
|
- `Docs/Migration/etat/BOSS/COMMUN-20/COMMUN-20-BUILD.md` (A, nouveau).
|
||
|
|
- `Docs/Migration/etat/COMMUN-20/COMMUN-20_Build_20261020-165840.txt` (A, généré par `Build.ps1`, lot hors table).
|
||
|
|
- `Docs/Migration/etat/COMMUN-20/COMMUN-20_Build_20261020-165905.txt` (A, généré par `Build.ps1`, lot hors table).
|
||
|
|
Journaux (`Saved\Logs\portage`), archive et `Saved\Cooked` : hors dépôt suivi, non commités. Aucune commande git en écriture.
|
||
|
|
|
||
|
|
## À verser
|
||
|
|
|
||
|
|
- lp-build § 2 — un lot hors table de `Tools\EtatDir.ps1` (COMMUN-20) écrit ses résumés dans `etat\COMMUN-20\` ; ajouter la règle à `EtatDir.ps1`.
|
||
|
|
- lp-build § 4 — `BuildDebug.ps1 -SkipBuild` après une compilation `Build.ps1` évite la compilation UBT hors script ; `pdb copies=0` à expliquer.
|