Files
qt6-migration-pipeline/filter_release2_targets.py
T
torsten 2d0bbd413e Adds final release 2 changes
Entire-Checkpoint: 01M77HH6ZRGG2X22BTG661JAZ9
2026-11-12 09:30:57 +00:00

181 lines
8.6 KiB
Python

#!/usr/bin/env python3
"""
Filter GROUP3_TARGETS to include only Release 2 scope modules.
Release 2 includes: AP3 (shared libs), AP4 (DDS), AP9 (tools/translations)
Excluded modules from Release 2:
- AlarmManagement (svcAlm*)
- AssetManagement (svcAsm*)
- AudioVideoManagement (svcAvm*)
- CentralEffectSimulation (svcCes*)
- CodificationManagement (svcCod*)
- EffectShowManagement (svcEffectShow*)
- Evaluations (svcEvl*)
- ExerciseEventManagement (svcExm*)
- FileManagement (svcFileManagement)
- FilterManagement (svcFlt*)
- GuezIedManagement (svcGim*)
- InfrastructureManagement (svcIsm*)
- MarkerManagement (svcMrk*)
- Messaging (svcMessaging*)
- MeteoDataManagement (svcMdm*)
- NotificationManagement (svcNom*)
- NmeaManagement (svcNmeaManagement*)
- OcBaseDownload (svcOcBaseDownload)
- OcSituationClient/Server (svcOcSituation*)
- OnlineReports (svcOre*)
- OperatorManagement (svcOpm*)
- PlanEditor (svcPpm*)
- PresentationManagement (svcPre*)
- ProjectionWorkstation (svcPws*)
- RecordingManagement (svcRec*)
- ReportManagement (svcRep*)
- RoutingServiceNG (svcRsn*)
- ServiceManagement (svcScm*)
- ScreenRecording (svcScrDummy)
- ServiceMonitor (svcSmoDummy)
- SituationMap (svcSom* - but keep svcMapDummy)
- SituationReplayManagement (svcSrm*)
- SoundManagement (svcSoundManagement)
- TargetManagement (svcTgt*)
- VideoOverlayManagement (svcVideoOverlayManagement)
- WarehouseGuez (svcWhg*)
Kept modules (Release 2 scope):
- NGL* utilities
- qtsingle*
- wms_json_ds, tcpserver
- LtsCoordinate, LtsCoordTrans (required core libs)
- svcPdm* (ProjectDataManagement)
- svcAes* (AreaEffectSimulation)
- svcBld* (Building)
- svcEsc* (EffectShowClient - kept based on context)
- svcEsm* (ExerciseSimulation)
- svcFlm* (FilterManagement - kept based on context)
- svcGmpServer
- svcMapDummy
- svcMsg* (Messaging - kept based on context)
- svcNme* (NMEA - kept based on context)
- svcObd* (ODB - kept based on context)
- svcOsc* (OSC - kept based on context)
- svcOss* (OSS - kept based on context)
- svcPedDummy
- svcSituationReplay
- svcSrp* (SRP - kept based on context)
- Tests for kept modules
"""
# Current GROUP3_TARGETS from line 627
current_targets = "NGLLogger nglapplication nglcompression nglcoreapplication ngldb nglguiapplication nglsettings nglsingleapplication nglsinglecoreapplication ngltools ngltranslator nglwidgets qtsingleapplication qtsinglecoreapplication wms_json_ds tcpserver LtsCoordinate LtsCoordTrans svcPdmCommon svcPdmClient svcPdmServer svcProjectDataManagement pdmTests svcAesClient svcAesCommon svcAesServer svcAreaEffectSimulation svcAsmClient svcAsmCommon svcAsmServer svcAssetManagement svcAudioVideoManagement svcAvmClient svcAvmCommon svcAvmServer svcBldClient svcBldCommon svcCentralEffectSimulation svcCesClient svcCesCommon svcCesDDSCommon svcCesGeoPairingImpl svcCesServer svcCodClient svcCodCommon svcCodServer svcEemClient svcEemCommon svcEemServer svcEffectShowClient svcEscClient svcEscCommon svcEscServer svcEsmClient svcEsmCommon svcEsmServer svcEvlClient svcEvlCommon svcEvlServer svcExerciseEventManagement svcExmClient svcExmCommon svcExmServer svcFileManagement svcFilterManagement svcFlmClient svcFlmCommon svcFlmServer svcFltClient svcFltCommon svcFltServer svcGimClient svcGimCommon svcGimServer svcGmpServer svcGuezIedManagement svcIsmClient svcIsmCommon svcIsmServer svcMapDummy svcMdmClient svcMdmCommon svcMdmServer svcMessaging svcMeteoDataManagement svcMrkClient svcMrkCommon svcMrkServer svcMsgClient svcMsgCommon svcMsgServer svcNomClient svcNomCommon svcNomServer svcNotificationManagement svcNmeClient svcNmeCommon svcNmeServer svcNmeaManagement svcObdClient svcObdCommon svcObdServer svcOcBaseDownload svcOcSituationClient svcOcSituationServer svcOperatorManagement svcOpmClient svcOpmCommon svcOpmServer svcOreDummy svcOscClient svcOscCommon svcOscServer svcOssClient svcOssCommon svcOssServer svcPedDummy svcPpmClient svcPpmCommon svcPpmServer svcPreClient svcPreCommon svcPreServer svcPwsCommon svcRecCommon svcRecordingManagement svcRepClient svcRepCommon svcRepCommonExecutable svcRepServer svcReportAnalyzer svcReportGenerator svcScmClient svcScmCommon svcScmServer svcScrDummy svcServiceManagement svcSituationReplay svcSmoDummy svcSomClient svcSomCommon svcSomServer svcSoundManagement svcSrmCommon svcSrpClient svcSrpCommon svcSrpServer svcTgtClient svcTgtCommon svcTgtServer svcVideoOverlayManagement svcWarehouseGuez svcWhgClient svcWhgCommon svcWhgServer asmTests avmFtTests avmTests avmVcaTests cesTests eemTests evlTests exmDtUnitTest exmTests flmTests gmpTests ismTests mrkTests mvsTests nomTests opmTests ppmTests preTests repTests scmDtUnitTest srpFtTests tgtTests whgTests"
# Modules to REMOVE (excluded from Release 2)
remove_patterns = [
# AlarmManagement
'svcAlmClient', 'svcAlmCommon', 'svcAlmServer', 'almTests',
# AssetManagement
'svcAsmClient', 'svcAsmCommon', 'svcAsmServer', 'asmTests',
# AudioVideoManagement
'svcAvmClient', 'svcAvmCommon', 'svcAvmServer', 'avmTests', 'avmFtTests', 'avmVcaTests',
# CentralEffectSimulation
'svcCesClient', 'svcCesCommon', 'svcCesDDSCommon', 'svcCesGeoPairingImpl', 'svcCesServer', 'svcCentralEffectSimulation', 'cesTests',
# CodificationManagement
'svcCodClient', 'svcCodCommon', 'svcCodServer',
# EffectShowManagement
'svcEffectShowClient',
# Evaluations
'svcEvlClient', 'svcEvlCommon', 'svcEvlServer', 'evlTests',
# ExerciseEventManagement
'svcExmClient', 'svcExmCommon', 'svcExmServer', 'svcExerciseEventManagement', 'exmTests', 'exmDtUnitTest',
# FileManagement
'svcFileManagement',
# FilterManagement
'svcFltClient', 'svcFltCommon', 'svcFltServer',
# GuezIedManagement
'svcGimClient', 'svcGimCommon', 'svcGimServer',
# InfrastructureManagement
'svcIsmClient', 'svcIsmCommon', 'svcIsmServer', 'ismTests',
# MarkerManagement
'svcMrkClient', 'svcMrkCommon', 'svcMrkServer', 'mrkTests',
# Messaging
'svcMessaging', 'svcMsgClient', 'svcMsgCommon', 'svcMsgServer', 'msgTests',
# MeteoDataManagement
'svcMdmClient', 'svcMdmCommon', 'svcMdmServer', 'svcMeteoDataManagement',
# NotificationManagement
'svcNomClient', 'svcNomCommon', 'svcNomServer', 'svcNotificationManagement', 'nomTests',
# NmeaManagement
'svcNmeClient', 'svcNmeCommon', 'svcNmeServer', 'svcNmeaManagement',
# OcBaseDownload
'svcOcBaseDownload',
# OcSituationClient/Server
'svcOcSituationClient', 'svcOcSituationServer',
# OnlineReports
'svcOreDummy',
# OperatorManagement
'svcOpmClient', 'svcOpmCommon', 'svcOpmServer', 'opmTests',
# PlanEditor
'svcPpmClient', 'svcPpmCommon', 'svcPpmServer', 'ppmTests',
# PresentationManagement
'svcPreClient', 'svcPreCommon', 'svcPreServer', 'preTests',
# ProjectionWorkstation
'svcPwsCommon',
# RecordingManagement
'svcRecCommon', 'svcRecordingManagement',
# ReportManagement
'svcRepClient', 'svcRepCommon', 'svcRepCommonExecutable', 'svcRepServer', 'svcReportAnalyzer', 'svcReportGenerator', 'repTests',
# RoutingServiceNG
'svcRsn*', 'rsnTests',
# ServiceManagement
'svcScmClient', 'svcScmCommon', 'svcScmServer', 'svcServiceManagement', 'scmTests', 'scmDtUnitTest',
# ScreenRecording
'svcScrDummy',
# ServiceMonitor
'svcSmoDummy',
# SituationMap (keep svcMapDummy)
'svcSomClient', 'svcSomCommon', 'svcSomServer', 'svcSoundManagement',
# SituationReplayManagement
'svcSrmCommon',
# TargetManagement
'svcTgtClient', 'svcTgtCommon', 'svcTgtServer', 'tgtTests',
# VideoOverlayManagement
'svcVideoOverlayManagement',
# WarehouseGuez
'svcWarehouseGuez', 'svcWhgClient', 'svcWhgCommon', 'svcWhgServer', 'whgTests',
# Other excluded
'mvsTests', 'gmpTests',
]
# Parse current targets
targets_list = current_targets.split()
# Filter out excluded modules
filtered_targets = []
removed_targets = []
for target in targets_list:
# Check if target matches any removal pattern
should_remove = False
for pattern in remove_patterns:
# Handle wildcards
if pattern.endswith('*'):
prefix = pattern[:-1]
if target.startswith(prefix):
should_remove = True
break
else:
if target == pattern:
should_remove = True
break
if should_remove:
removed_targets.append(target)
else:
filtered_targets.append(target)
print(f"Original targets: {len(targets_list)}")
print(f"Removed targets: {len(removed_targets)}")
print(f"Filtered targets: {len(filtered_targets)}")
print("\n=== Removed targets ===")
for t in sorted(removed_targets):
print(f" {t}")
print("\n=== Filtered GROUP3_TARGETS ===")
print('GROUP3_TARGETS=(' + ' '.join(filtered_targets) + ')')