This commit is contained in:
3 files changed
-199
No files matched your search
@@ -1,37 +0,0 @@
|
||||
#!/bin/bash
|
||||
# patch_core_dtc_h.sh - Post-Build Patch für core_dtc.h
|
||||
# Fügt fehlenden Include und using-Declarationen hinzu
|
||||
|
||||
set -e
|
||||
|
||||
CORE_DTC_H="/repo/build/Lts/DDS/Core/core_dtc.h"
|
||||
|
||||
if [ ! -f "$CORE_DTC_H" ]; then
|
||||
echo "ERROR: $CORE_DTC_H not found!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Patching $CORE_DTC_H..."
|
||||
|
||||
# Prüfen ob bereits gepatcht
|
||||
if grep -q "// PATCHED BY patch_core_dtc_h.sh" "$CORE_DTC_H"; then
|
||||
echo "File already patched, skipping..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 1. Include für core_dtc_types.h nach core.hpp hinzufügen
|
||||
sed -i '/#include "core.hpp"/a #include "core_dtc_types.h" // PATCHED BY patch_core_dtc_h.sh' "$CORE_DTC_H"
|
||||
|
||||
# 2. Using-Declarationen im Core Namespace hinzufügen (nach namespace Core { )
|
||||
# Wir fügen nach "namespace Core {" einen Block mit using-Declarationen ein
|
||||
sed -i '/^namespace Core {/a\
|
||||
// PATCHED BY patch_core_dtc_h.sh - DTC type aliases\
|
||||
using DTC::CurrentRunningState;\
|
||||
using DTC::LockedEntity;\
|
||||
using DTC::PartitionTime;\
|
||||
using DTC::RelativePositionAbsoluteTime;\
|
||||
using DTC::RelativePositionRelativeTime;\
|
||||
using DTC::ReplayPartition;\
|
||||
' "$CORE_DTC_H"
|
||||
|
||||
echo "Patching complete!"
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Post-Build Patch für generierte core_json.cpp
|
||||
# Fixt Qt6/C++17 Inkompatibilitäten in ngl_codegen Output
|
||||
|
||||
set -e
|
||||
|
||||
CORE_JSON_FILE="/repo/build/Lts/DDS/Core/core_json.cpp"
|
||||
|
||||
if [ ! -f "$CORE_JSON_FILE" ]; then
|
||||
echo "ERROR: $CORE_JSON_FILE nicht gefunden!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Patching core_json.cpp für Qt6/C++17 Kompatibilität..."
|
||||
|
||||
# Fix 1: .underlying() für normale enums entfernen
|
||||
# ngl_codegen generiert: static_cast<int>(element.field.underlying())
|
||||
# core.xml hat normale enums, also: static_cast<int>(element.field)
|
||||
sed -i 's/\.underlying())/)/g' "$CORE_JSON_FILE"
|
||||
echo " - .underlying() Aufrufe entfernt"
|
||||
|
||||
# Fix 2: Enum Typ-Namen korrigieren (_def::type → direkter Typname)
|
||||
sed -i 's/Core::RunningState_def::type/Core::RunningState/g' "$CORE_JSON_FILE"
|
||||
sed -i 's/Core::PortType_def::type/Core::PortType/g' "$CORE_JSON_FILE"
|
||||
sed -i 's/Core::ReplayType_def::type/Core::ReplayType/g' "$CORE_JSON_FILE"
|
||||
echo " - Enum Typ-Namen korrigiert"
|
||||
|
||||
echo "✓ core_json.cpp erfolgreich gepatcht"
|
||||
@@ -1,134 +0,0 @@
|
||||
#!/bin/bash
|
||||
# update_migration_status.sh - Automatische Migration Status Updates
|
||||
# Wird alle 4 Stunden oder bei Meilensteinen ausgeführt
|
||||
|
||||
set -e
|
||||
|
||||
WORKSPACE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
MIGRATION_REPO="$WORKSPACE_ROOT/qt-migration-legatus"
|
||||
STATUS_FILE="$WORKSPACE_ROOT/MIGRATION_STATUS.md"
|
||||
|
||||
echo "🔄 Migration Status Update - $(date -Iseconds)"
|
||||
|
||||
# Check if we're in a git repo
|
||||
if ! git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
|
||||
echo "❌ Not in a git repository"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Generate migration status
|
||||
echo "📊 Generiere Migrationsstatus..."
|
||||
|
||||
# Count migrated files
|
||||
MIGRATED_FILES=$(find "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus" -name "*.cpp" -o -name "*.h" 2>/dev/null | wc -l)
|
||||
LEGACY_FILES=$(find "$MIGRATION_REPO/qt5-before/qt5-legatus-legacy" -name "*.cpp" -o -name "*.h" 2>/dev/null | wc -l)
|
||||
|
||||
# Get current branch and commit
|
||||
cd "$MIGRATION_REPO"
|
||||
CURRENT_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
|
||||
CURRENT_COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
||||
LAST_COMMIT_DATE=$(git log -1 --format=%ci 2>/dev/null || echo "unknown")
|
||||
|
||||
# Count test files
|
||||
TEST_FILES=$(find "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus" -name "*[Tt]est*.cpp" 2>/dev/null | wc -l)
|
||||
|
||||
# Build info
|
||||
BUILD_STATUS="Unknown"
|
||||
if [ -d "$WORKSPACE_ROOT/build-qt6-migration" ]; then
|
||||
if [ -f "$WORKSPACE_ROOT/build-qt6-migration/CMakeCache.txt" ]; then
|
||||
BUILD_STATUS="✅ Configure erfolgreich"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Generate status report
|
||||
cat > "$STATUS_FILE" << EOF
|
||||
# 🚀 Qt5/C++11 → Qt6/C++23 Migration Status
|
||||
|
||||
**Letztes Update**: $(date -Iseconds)
|
||||
**Branch**: \`$CURRENT_BRANCH\`
|
||||
**Commit**: \`$CURRENT_COMMIT\`
|
||||
**Letzter Commit**: $LAST_COMMIT_DATE
|
||||
|
||||
---
|
||||
|
||||
## 📊 Fortschritt
|
||||
|
||||
| Metrik | Wert |
|
||||
|--------|------|
|
||||
| Migrierte Dateien | $MIGRATED_FILES |
|
||||
| Legacy Dateien (Referenz) | $LEGACY_FILES |
|
||||
| Test-Dateien | $TEST_FILES |
|
||||
| Build-Status | $BUILD_STATUS |
|
||||
|
||||
---
|
||||
|
||||
## ✅ Abgeschlossene Meilensteine
|
||||
|
||||
$(if [ -f "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus/Lts/Common/CMakeLists.txt" ]; then echo "- ✅ Lts/Common - Vollständig migriert"; fi)
|
||||
$(if [ -f "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus/Lts/DDS/CMakeLists.txt" ]; then echo "- 🟡 Lts/DDS - In Arbeit"; fi)
|
||||
$(if [ -f "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus/Lts/Plugins/CMakeLists.txt" ]; then echo "- 🟡 Lts/Plugins - In Arbeit"; fi)
|
||||
$(if [ -f "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus/Lts/Proxies/CMakeLists.txt" ]; then echo "- 🟡 Lts/Proxies - In Arbeit"; fi)
|
||||
$(if [ -f "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus/Lts/Services/CMakeLists.txt" ]; then echo "- 🟡 Lts/Services - In Arbeit"; fi)
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Technische Details
|
||||
|
||||
### BUILD_RTI Configuration
|
||||
- Conditional Compilation: ✅ Implementiert
|
||||
- BUILD_RTI=OFF Build: ✅ Validiert
|
||||
|
||||
### Qt Version
|
||||
- Ziel: Qt 6.10.2
|
||||
- Docker Image: migration-pipeline:ubuntu26.04
|
||||
|
||||
### Submodule Status
|
||||
\`\`\`
|
||||
$(cd "$WORKSPACE_ROOT" && git submodule status 2>/dev/null || echo "N/A")
|
||||
\`\`\`
|
||||
|
||||
---
|
||||
|
||||
## 📝 Letzte Änderungen
|
||||
|
||||
\`\`\`
|
||||
$(cd "$MIGRATION_REPO" && git log -5 --oneline 2>/dev/null || echo "N/A")
|
||||
\`\`\`
|
||||
|
||||
---
|
||||
|
||||
## ⏭️ Nächste Schritte
|
||||
|
||||
1. Lts/DDS Module vollständig migrieren
|
||||
2. Lts/Plugins Kernmodule migrieren
|
||||
3. Vollständigen Build validieren
|
||||
4. CTest Suite ausführen
|
||||
|
||||
---
|
||||
|
||||
*Automatisch generiert von update_migration_status.sh*
|
||||
EOF
|
||||
|
||||
echo "✅ Status file updated: $STATUS_FILE"
|
||||
|
||||
# Commit and push if there are changes
|
||||
cd "$WORKSPACE_ROOT"
|
||||
if ! git diff --quiet "$STATUS_FILE" 2>/dev/null; then
|
||||
echo "📝 Committing changes..."
|
||||
git add "$STATUS_FILE"
|
||||
git commit -S -m "chore: Migration Status Update $(date -Iseconds)
|
||||
|
||||
Automatische Status-Aktualisierung
|
||||
- Migrierte Dateien: $MIGRATED_FILES
|
||||
- Build Status: $BUILD_STATUS
|
||||
|
||||
Signed-off-by: Torsten Wierschin <torsten.wierschin@life-maps.com>"
|
||||
|
||||
echo "🔄 Pushing to remote..."
|
||||
git push origin main
|
||||
echo "✅ Status committed and pushed!"
|
||||
else
|
||||
echo "ℹ️ No changes to commit"
|
||||
fi
|
||||
|
||||
echo "✅ Done!"
|
||||
Reference in new issue
Block a user