Checks merge-in of Niklas remove modules list branch
Qt6 Migration CI / migrate (push) Waiting to run
Qt6 Migration CI / migrate (push) Waiting to run
This commit is contained in:
1 file changed
+166
+166
@@ -0,0 +1,166 @@
|
|||||||
|
Hier ist ein **robuster Copilot-CLI-Prompt**, in den ich die nötigen Entscheidungs- und Interpretationshinweise direkt eingebaut habe:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Nutze die Prompts, harten Regeln und Diagnosehinweise aus diesem Chat als verbindlichen Detailkontext und bearbeite folgende Aufgabe robust, minimal und reproduzierbar.
|
||||||
|
|
||||||
|
Git-Kontext:
|
||||||
|
- Zielbranch:
|
||||||
|
- feature/qt6-migration-basis-modules
|
||||||
|
- aktueller Branch:
|
||||||
|
- feature/qt6-migration-basis-modules
|
||||||
|
|
||||||
|
Relevante Commits:
|
||||||
|
- 44fdf2ac9
|
||||||
|
- aktueller HEAD / Merge-Stand
|
||||||
|
- enthält die Modul-Löschungen aus dem Mergekontext
|
||||||
|
- 92ad7d468
|
||||||
|
- remove all unneeded module listed from Niklas
|
||||||
|
- be912de9d
|
||||||
|
- Removes .IDL warnings: multiple enum definitons and builtin-type collisions
|
||||||
|
|
||||||
|
Aufgabe:
|
||||||
|
- prüfe, ob Änderungen aus Commit `be912de9d` durch Commit `92ad7d468` oder durch den Merge-Stand `44fdf2ac9` verworfen, überschrieben oder effektiv entkoppelt wurden
|
||||||
|
- behandle dies als Regressionssuche
|
||||||
|
- stelle die in `be912de9d` beabsichtigte Behebung der `.IDL`-Warnungen im aktuellen HEAD wieder her, **aber ohne** die in `92ad7d468` gelöschten Module zurückzubringen
|
||||||
|
- die Modul-Löschungen aus `92ad7d468` müssen vollständig erhalten bleiben
|
||||||
|
|
||||||
|
Wichtige Arbeitsregel:
|
||||||
|
- `44fdf2ac9` ist der Arbeitsstand
|
||||||
|
- `be912de9d` ist nur Referenz-Fix, nicht blind replayen
|
||||||
|
- `92ad7d468` ist die harte Erhaltungsgrenze für gelöschte Module
|
||||||
|
- übernimm nur die Teile von `be912de9d`, die im aktuellen Tree noch fachlich/technisch relevant sind
|
||||||
|
- wenn Pfade, CMake-Struktur, Generatorpfade oder Modullisten sich geändert haben, adaptiere die frühere Lösung minimal auf den aktuellen Tree
|
||||||
|
- keine Wiederherstellung gelöschter Module
|
||||||
|
- keine Abhängigkeit auf entfernte Dateien, Targets oder Verzeichnisse einführen
|
||||||
|
|
||||||
|
Pflicht: nutze die Warnungsliste als Wahrheitstest
|
||||||
|
- alle 145 Warnungen liegen in:
|
||||||
|
- `./not_complaint.txt`
|
||||||
|
- nutze `./not_complaint.txt` als vollständige und maßgebliche Liste
|
||||||
|
- verifiziere vor und nach den Änderungen, welche Warnungsgruppen tatsächlich betroffen sind
|
||||||
|
|
||||||
|
Verbindlicher Build-/Migrationskontext:
|
||||||
|
- die Migration ist noch nicht abgeschlossen
|
||||||
|
- Migrationscontainer:
|
||||||
|
- `./app/Dockerfile`
|
||||||
|
- Validierungscontainer:
|
||||||
|
- `./qt-migration-legatus/qt6-after/qt6-migrated-legatus/docker_build.sh`
|
||||||
|
- `/workspace` ist der relevante Mount-Pfad im Validierungscontainer
|
||||||
|
- generierte `.idl`, `.h`, `.cpp` Dateien aus RTI / ndsgen / ktexttemplate-app müssen im **Build-Folder** entstehen und von dort inkludiert und verwendet werden
|
||||||
|
- solche generierten Dateien dürfen **nicht** ins Source-Repository aufgenommen werden
|
||||||
|
- solche generierten Dateien dürfen **nicht** aus dem Source-Tree konsumiert werden
|
||||||
|
- frühere IDL-/DDS-Probleme sind zuerst als Pfad-/Codegen-/Artefaktproblem zu behandeln, nicht vorschnell als echter fachlicher IDL-Inhaltsfehler
|
||||||
|
- Erfolg darf nicht von stale source-tree/build-tree/developer-local Artefakten abhängen
|
||||||
|
|
||||||
|
Konkreter Warnungskontext:
|
||||||
|
- multiple enum definitions / duplicate enumerators
|
||||||
|
- builtin-type / keyword collisions
|
||||||
|
- Beispieltypen:
|
||||||
|
- `On`, `Off`, `Normal`, `Undefined`
|
||||||
|
- `bitMask`, `typeId`, `eventType`
|
||||||
|
|
||||||
|
Pflichtanalyse:
|
||||||
|
1. untersuche die Diffs und Wirkungen von:
|
||||||
|
- `be912de9d`
|
||||||
|
- `92ad7d468`
|
||||||
|
- `44fdf2ac9`
|
||||||
|
2. ermittle präzise:
|
||||||
|
- welche Teile von `be912de9d` die `.IDL`-Warnungen behoben haben
|
||||||
|
- welche dieser Änderungen durch `92ad7d468` entfernt, überschrieben oder unwirksam gemacht wurden
|
||||||
|
- welche dieser Änderungen im aktuellen HEAD `44fdf2ac9` noch fehlen
|
||||||
|
3. prüfe dabei zuerst strikt:
|
||||||
|
- ob die Warnungen durch doppelte Inputs, Altpfade, doppelte Codegen-Quellen, falsche Include-/Import-Reihenfolgen, stale Artefakte oder entfernte-aber-noch-referenzierte Module entstehen
|
||||||
|
- erst danach, ob ein echter fachlicher IDL/XTypes-Konflikt verbleibt
|
||||||
|
4. nutze `./not_complaint.txt`, um Warnungen nach Root-Cause-Gruppen zu clustern und mit dem damaligen Fix abzugleichen
|
||||||
|
|
||||||
|
Verbindliche Entscheidungslogik für `be912de9d`:
|
||||||
|
- **nicht blind replayen**
|
||||||
|
- wenn eine von `be912de9d` geänderte Datei heute noch existiert und noch relevant ist:
|
||||||
|
- sie ist Kandidat für direkte oder fast direkte Übernahme
|
||||||
|
- wenn eine von `be912de9d` geänderte Datei heute fehlt, weil ihr Modul durch `92ad7d468` gelöscht wurde:
|
||||||
|
- nicht wiederherstellen
|
||||||
|
- keinen Patchteil dafür übernehmen, der gelöschte Module zurückbringen würde
|
||||||
|
- wenn eine von `be912de9d` geänderte Datei heute noch fachlich relevant ist, aber der Pfad/Buildkontext sich geändert hat:
|
||||||
|
- die damalige Fix-Absicht manuell/adaptiert auf die heutige Struktur übertragen
|
||||||
|
- wenn die heutigen Warnungen eher aus Pfad-/Codegen-/Artefaktproblemen stammen:
|
||||||
|
- nur die Idee aus `be912de9d` übernehmen, nicht seinen Patch blind nachbauen
|
||||||
|
|
||||||
|
Praktische Interpretationsregel:
|
||||||
|
- wenn du feststellst: „gleiche Ursache wie früher, aber heute andere/kleinere Modulmenge oder andere Pfade“
|
||||||
|
- dann `be912de9d` **partiell manuell/adaptiert replayen**
|
||||||
|
- wenn du feststellst: „der alte Fix betraf gelöschte Module“
|
||||||
|
- diese Teile **nicht** übernehmen
|
||||||
|
- wenn du feststellst: „das Problem ist heute primär Build-/Codegen-Pfad statt IDL-Inhalt“
|
||||||
|
- Root Cause im Build-/Generator-Setup beheben, nicht den alten Inhaltsfix blind kopieren
|
||||||
|
|
||||||
|
Pflichtumsetzung:
|
||||||
|
- implementiere die minimal nötigen Änderungen im aktuellen Branch, um die Warnungen wieder zu beseitigen
|
||||||
|
- erhalte dabei strikt den Modullösch-Stand aus `92ad7d468`
|
||||||
|
- passe frühere Fixes aus `be912de9d` an den aktuellen Tree an, statt sie blind zurückzukopieren
|
||||||
|
- wenn frühere Fixes Dateien oder Module berühren, die in `92ad7d468` gelöscht wurden, extrahiere nur die noch relevanten Teile und übertrage sie sauber auf die verbleibenden Module
|
||||||
|
- ändere nur direkt betroffene Dateien, CMake-Skripte und Generator-Aufrufe
|
||||||
|
|
||||||
|
Spezielle Prüfregeln für Codegen/IDL:
|
||||||
|
- prüfe, ob dieselben IDL-Definitionen mehrfach in den aktuellen Build eingespeist werden
|
||||||
|
- prüfe, ob entfernte Module aus `92ad7d468` indirekt noch über Listen, Imports, Templates oder Generatorpfade referenziert werden
|
||||||
|
- prüfe, ob die Warnungen durch verbliebene Altpfade oder doppelte Inputs entstehen
|
||||||
|
- prüfe, ob generierte Outputs korrekt im Build-Folder landen und von dort konsumiert werden
|
||||||
|
- prüfe `add_custom_command(OUTPUT ...)`, `BYPRODUCTS`, `DEPENDS`, `WORKING_DIRECTORY`, `COMMAND`, `VERBATIM`, `target_sources(...)`, `target_include_directories(...)`, `add_dependencies(...)`
|
||||||
|
|
||||||
|
Harte Regeln:
|
||||||
|
- gelöschte Module aus `92ad7d468` dürfen nicht wiederhergestellt werden
|
||||||
|
- keine Refactorings
|
||||||
|
- keine opportunistischen Fixes
|
||||||
|
- keine Änderungen im Legacy-Tree
|
||||||
|
- keine Warnungsunterdrückung statt echter Ursachenbehebung
|
||||||
|
- keine Fake-Erfolge
|
||||||
|
- keine neuen Stubs, Platzhalter oder erfundenen generierten Dateien
|
||||||
|
- keine generierten `.idl`, `.h`, `.cpp` ins Repository einchecken
|
||||||
|
- keine inhaltlichen IDL-Großumbauten, solange Pfad-/Codegen-/Artefaktursachen nicht ausgeschlossen sind
|
||||||
|
|
||||||
|
Container-Regeln:
|
||||||
|
- Migration muss mit `./app/Dockerfile` weiter möglich bleiben
|
||||||
|
- Validierung erfolgt mit `./qt-migration-legatus/qt6-after/qt6-migrated-legatus/docker_build.sh`
|
||||||
|
- falls nötig, passe Migrationscontainer und/oder Validierungscontainer minimal an, aber nur wenn dies direkt für den Fix oder die fortgesetzte Migration nötig ist
|
||||||
|
- nutze keine Host-Annahmen
|
||||||
|
|
||||||
|
Pflichtvalidierung:
|
||||||
|
- stale Build-/Codegen-Artefakte ausschließen
|
||||||
|
- die betroffenen Generatoren im aktuellen Kontext erneut laufen lassen
|
||||||
|
- im Validierungscontainer konfigurieren und bauen
|
||||||
|
- vor/nachher anhand von `./not_complaint.txt` und neuem Build-Output prüfen, ob die Warnungen verschwunden oder reduziert sind
|
||||||
|
- Abschluss-Checks ausführen:
|
||||||
|
- `./docker-build.h`
|
||||||
|
- `BUILD_RTI=OFF ./docker_build.sh`
|
||||||
|
|
||||||
|
Erfolgskriterien:
|
||||||
|
- die durch `be912de9d` ursprünglich behobenen `.IDL`-Warnungen sind im aktuellen HEAD `44fdf2ac9` wieder beseitigt oder root-cause-basiert minimal korrigiert
|
||||||
|
- die Modul-Löschungen aus `92ad7d468` bleiben vollständig erhalten
|
||||||
|
- keine entfernten Module wurden wieder eingeführt
|
||||||
|
- generierte Dateien werden nur aus dem Build-Folder verwendet
|
||||||
|
- keine Scheinlösung durch Warnungsunterdrückung
|
||||||
|
|
||||||
|
Wenn nicht vollständig lösbar:
|
||||||
|
- nichts vortäuschen
|
||||||
|
- exakt angeben:
|
||||||
|
- welche Teile von `be912de9d` noch relevant waren
|
||||||
|
- welche davon wegen `92ad7d468` nicht direkt übernehmbar waren
|
||||||
|
- welche Warnungsgruppen aus `./not_complaint.txt` gelöst wurden und welche nicht
|
||||||
|
- ob der Blocker ein Projekt-, Pfad-, Artefakt-, Merge- oder Umgebungsproblem ist
|
||||||
|
|
||||||
|
Abschlussbericht nur kurz:
|
||||||
|
- validiert, teilweise validiert oder blockiert
|
||||||
|
- welche Änderungen aus `be912de9d` effektiv wiederhergestellt/adaptiert wurden
|
||||||
|
- Bestätigung, dass gelöschte Module aus `92ad7d468` nicht zurückgebracht wurden
|
||||||
|
- Anzahl Warnungen vorher/nachher
|
||||||
|
- Root Causes
|
||||||
|
- geänderte Dateien
|
||||||
|
- geänderte CMake-/Generator-Aufrufe
|
||||||
|
- ob `./app/Dockerfile` angepasst wurde
|
||||||
|
- ob `./qt-migration-legatus/qt6-after/qt6-migrated-legatus/docker_build.sh` angepasst wurde
|
||||||
|
- exakte Docker-/Build-Kommandos
|
||||||
|
- Ergebnis von:
|
||||||
|
- `./docker-build.h`
|
||||||
|
- `BUILD_RTI=OFF ./docker_build.sh`
|
||||||
|
- verbleibende Blocker oder Risiken
|
||||||
|
```
|
||||||
Reference in new issue
Block a user