Files
qt-migration-copilot-demo/README.md
T
2026-08-05 15:45:12 +02:00

1.6 KiB

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

docker build -t lifemaps/ci-cpp:latest -f Dockerfile.ci .
docker push lifemaps/ci-cpp:latest

Entire + Copilot

Beispiel:

./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