70 lines
1.6 KiB
Markdown
70 lines
1.6 KiB
Markdown
# Qt Migration Copilot Demo
|
|
|
|
Dieses Repository zeigt einen kleinen, reproduzierbaren Benchmark für die Migration eines alten Qt5/C++11-Projekts nach Qt6/C++23 mit Copilot CLI.
|
|
|
|
## Inhalt
|
|
|
|
- `qt5-before/`
|
|
Ausgangszustand mit absichtlich veralteten Qt5-APIs:
|
|
- `QRegExp`
|
|
- `QDesktopWidget`
|
|
- `QTextCodec`
|
|
- alte `SIGNAL/SLOT`-Syntax
|
|
- getrennte `Qt5::Core`, `Qt5::Gui`, `Qt5::Widgets`
|
|
|
|
- `qt6-after/`
|
|
Erwarteter oder referenzierter Zielzustand nach der Migration:
|
|
- `QRegularExpression`
|
|
- `QScreen`
|
|
- modernes UTF-8-/String-Handling
|
|
- moderne Connect-Syntax
|
|
- Qt6 + C++23
|
|
|
|
- `Dockerfile.ci`
|
|
Vorgebautes CI-Image für Jenkins.
|
|
|
|
- `Jenkinsfile`
|
|
Führt Configure, Build und Test im vorgebauten Docker-Image aus.
|
|
|
|
- `scripts/`
|
|
Hilfsskripte für Entire CLI und Copilot CLI.
|
|
|
|
## Ziel
|
|
|
|
Das Repo dient als:
|
|
- Demo für Qt5→Qt6-Migration
|
|
- Benchmark für Copilot CLI / Agenten
|
|
- reproduzierbares Beispiel mit Entire-Checkpoints
|
|
- Referenz für Jenkins + Docker CI
|
|
|
|
## Empfohlener Workflow
|
|
|
|
1. In `qt5-before/` starten
|
|
2. Entire für Copilot CLI aktivieren
|
|
3. Baseline-Checkpoint committen
|
|
4. Copilot-Migration ausführen
|
|
5. Ergebnis committen
|
|
6. Mit `qt6-after/` vergleichen
|
|
|
|
## CI-Image bauen
|
|
|
|
```bash
|
|
docker build -t lifemaps/ci-cpp:latest -f Dockerfile.ci .
|
|
docker push lifemaps/ci-cpp:latest
|
|
```
|
|
|
|
## Entire + Copilot
|
|
|
|
Beispiel:
|
|
|
|
```bash
|
|
./scripts/run-entire-copilot-migration-with-optional-rewind-resume.sh qt5-before/qt5-legacy-migration-benchmark
|
|
```
|
|
|
|
## Hinweis
|
|
|
|
Dieses Repository ist absichtlich klein gehalten, damit:
|
|
- Migrationsänderungen gut sichtbar bleiben
|
|
- Copilot-Antworten vergleichbar sind
|
|
- CI-Läufe schnell reproduzierbar sind
|