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