Unifies forward-declations forlder into single point of truth
Qt6 Migration CI / migrate (push) Waiting to run
Qt6 Migration CI / migrate (push) Waiting to run
This commit is contained in:
1 file changed
+137
@@ -0,0 +1,137 @@
|
||||
Hier ist der **angepasste Prompt** mit beiden Anweisungen:
|
||||
|
||||
```text
|
||||
Setze die Qt5->Qt6-Migration fort und bearbeite strikt nur die Forward-Declaration-Konsolidierung im Qt6-Baum.
|
||||
|
||||
Spezielle Aufgabe:
|
||||
Es existieren zwei Verzeichnisse mit identischem Inhalt:
|
||||
- a) /workspace/forward-declarations
|
||||
- b) /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/forward-declarations
|
||||
|
||||
Aktuell werden trotz identischem Inhalt noch immer beide benötigt.
|
||||
|
||||
Ziel:
|
||||
- bereinige alle direkt betroffenen CMake-Skripte, `#include`-Stellen und Tool-/Codegenerator-Aufrufe so, dass **nur noch b)** benötigt wird:
|
||||
- /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/forward-declarations
|
||||
- erst wenn dieser Zustand sicher erreicht ist, lösche a):
|
||||
- /workspace/forward-declarations
|
||||
- belasse danach ausschließlich b)
|
||||
|
||||
Wichtiger Container-Kontext:
|
||||
- `/workspace` ist ein **Mount im Validierungs-Docker-Container**
|
||||
- der maßgebliche Validierungsweg dafür ist:
|
||||
- `/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/docker_build.sh`
|
||||
- berücksichtige deshalb, dass alle Pfade im Validierungskontext containerbezogen unter `/workspace` aufgelöst werden müssen
|
||||
|
||||
Zusätzliche Pflicht:
|
||||
- passe **auch den Migrations-Docker-Container** in
|
||||
- `/workspace/app/Dockerfile`
|
||||
minimal mit an, soweit es für diese Umstellung nötig ist, damit die Migration **nicht nur validierbar ist, sondern anschließend auch weiterlaufen kann**
|
||||
- behandle also:
|
||||
- `/workspace/app/Dockerfile` als Migrationscontainer
|
||||
- `/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/docker_build.sh` als Validierungscontainer nach einem Migrationsschritt
|
||||
|
||||
Harte Regeln:
|
||||
- nur diese Konsolidierungsaufgabe bearbeiten
|
||||
- keine Refactorings
|
||||
- keine opportunistischen Fixes
|
||||
- keine fachlogischen Änderungen
|
||||
- keine Änderungen im Legacy-Tree
|
||||
- keine neuen Stubs, Wrapper, Redirect-Header oder Kopien erzeugen
|
||||
- keine parallele Alt-/Neu-Struktur beibehalten
|
||||
- keine Scheinlösung über zusätzliche Include-Pfade, die beide Verzeichnisse weiter unterstützen
|
||||
- keine Workarounds, die a) indirekt weiter voraussetzen
|
||||
|
||||
Pflichtanalyse:
|
||||
- prüfe, an welchen Stellen a) noch direkt oder indirekt referenziert wird
|
||||
- prüfe:
|
||||
- `CMakeLists.txt`
|
||||
- cmake-Include-Dateien
|
||||
- `target_include_directories(...)`
|
||||
- `include_directories(...)`
|
||||
- `#include`-Pfade
|
||||
- Custom Commands
|
||||
- Generator-/Tool-Aufrufe
|
||||
- Arbeitsverzeichnisse (`WORKING_DIRECTORY`)
|
||||
- Skripte mit hart codierten Pfaden
|
||||
- Docker-bezogene Aufrufe oder Mount-Annahmen
|
||||
- identifiziere auch implizite Abhängigkeiten, z. B. falsche relative Pfade oder Generatoren, die im Workspace-Root nach `forward-declarations` suchen
|
||||
|
||||
Pflichtumsetzung:
|
||||
- ändere alle direkt betroffenen Pfade strikt auf b):
|
||||
- /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/forward-declarations
|
||||
- passe Includes minimal so an, dass nur noch b) verwendet wird
|
||||
- passe CMake-Pfade minimal so an, dass nur noch b) eingebunden wird
|
||||
- passe Tool-/Codegenerator-Aufrufe minimal so an, dass nur noch b) als Input-/Include-/Suchpfad verwendet wird
|
||||
- passe bei Bedarf auch Mount-/Container-bezogene Pfadannahmen in den betroffenen Docker-Kontexten minimal an
|
||||
- stelle sicher, dass keine Build- oder Migrationsstelle mehr a) voraussetzt
|
||||
|
||||
Löschregel:
|
||||
- lösche a) erst dann, wenn nachweislich gilt, dass Configure, Build und ggf. Codegenerierung ohne a) funktionieren
|
||||
- nicht vorher
|
||||
- nach erfolgreicher Umstellung darf nur noch b) verbleiben
|
||||
|
||||
Strikte CMake-/Pfadregeln:
|
||||
- bevorzuge ursächliche Korrekturen
|
||||
- bevorzuge `target_include_directories(...)` gegenüber globalen Sammellösungen, sofern minimal möglich
|
||||
- keine künstlichen Fallbacks
|
||||
- keine Pfadverdopplungen
|
||||
- keine zusätzliche Kompatibilitätsschicht für a)
|
||||
- keine neuen globalen Variablen, wenn eine lokale Korrektur ausreicht
|
||||
|
||||
Tool-/Codegenerator-Regeln:
|
||||
- prüfe explizit, ob Generatoren oder Hilfstools a) als Include-, Input-, Template- oder Output-Bezug verwenden
|
||||
- korrigiere diese Aufrufe an der Ursache
|
||||
- keine Fake-Inputs
|
||||
- keine stillschweigende Rückfallebene auf a)
|
||||
|
||||
Docker-Regeln:
|
||||
- Validierungscontainer:
|
||||
- `/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/docker_build.sh`
|
||||
- Migrationscontainer:
|
||||
- `/workspace/app/Dockerfile`
|
||||
- beide Kontexte müssen nach der Änderung konsistent mit nur noch b) arbeiten
|
||||
- ändere diese Container-Kontexte nur minimal und nur soweit nötig, damit:
|
||||
- die Validierung funktioniert
|
||||
- die eigentliche Migration danach weiterlaufen kann
|
||||
|
||||
Validierung:
|
||||
- nutze `/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/docker_build.sh` als primären Validierungsweg
|
||||
- validiere mit mindestens:
|
||||
1. Configure
|
||||
2. Build
|
||||
3. Nachweis, dass a) nicht mehr benötigt wird
|
||||
- prüfe zusätzlich, dass notwendige Anpassungen im Migrationscontainer unter `/workspace/app/Dockerfile` konsistent sind
|
||||
- wenn sinnvoll:
|
||||
- a) vor dem finalen Validierungslauf entfernen oder unzugänglich machen, um zu beweisen, dass nur b) benötigt wird
|
||||
|
||||
Erfolgskriterien:
|
||||
- alle relevanten CMake-Skripte, Includes und Tool-/Codegenerator-Aufrufe verwenden nur noch b)
|
||||
- Validierungscontainer und Migrationscontainer sind konsistent auf diese Struktur angepasst
|
||||
- a) wird nirgends mehr benötigt
|
||||
- a) wurde anschließend gelöscht
|
||||
- nur b) bleibt bestehen:
|
||||
- /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/forward-declarations
|
||||
- Build/Configure/ggf. Codegenerierung funktionieren ohne a)
|
||||
- die Migration kann danach weiterlaufen
|
||||
- keine Wrapper, Kopien oder Parallelstrukturen
|
||||
|
||||
Wenn nicht vollständig lösbar:
|
||||
- nichts vortäuschen
|
||||
- a) nicht löschen, falls noch technische Abhängigkeiten bestehen
|
||||
- als teilweise validiert oder blockiert melden
|
||||
- exakte Restabhängigkeit auf a) benennen
|
||||
- angeben, ob der Blocker im Validierungscontainer, im Migrationscontainer oder im Projekt selbst liegt
|
||||
|
||||
Abschlussbericht nur kurz:
|
||||
- validiert, teilweise validiert oder blockiert
|
||||
- geänderte Dateien
|
||||
- geänderte CMake-Dateien
|
||||
- geänderte Include-Stellen
|
||||
- geänderte Tool-/Generator-Aufrufe
|
||||
- Anpassungen an `/workspace/app/Dockerfile`
|
||||
- Anpassungen an `/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/docker_build.sh`
|
||||
- ob a) gelöscht wurde
|
||||
- exakte Docker-Kommandos
|
||||
- verbleibende Blocker oder Risiken
|
||||
```
|
||||
Reference in new issue
Block a user