Commit Graph
375 Commits
Author SHA1 Message Date
berrux-dev a62b729577 Keep the plugin ICD docs and jenkins-ci-rme/README.md
Revert part of the markdown cleanup: the two TrainingAreaBase plugin
ICD docs and jenkins-ci-rme/README.md stay in the tree; the root
migration/validation reports remain removed. README.md pointers to
jenkins-ci-rme/README.md are restored.
2026-11-14 01:16:27 +01:00
berrux-dev 4bc64639e4 Remove all markdown files except README.md
Drop the 13 leftover documents (12 migration/validation reports at the
tree root, 2 plugin ICD docs under Lts/Proxies/TrainingAreaBase, and
jenkins-ci-rme/README.md); README.md is the only .md in the tree. The
two README pointers at jenkins-ci-rme/README.md now describe the
pipeline files inline.
2026-11-14 01:13:05 +01:00
berrux-dev 0f99d2c859 README: note the pruned tree and the new ctest Not Run baseline
The pruned tree no longer registers the out-of-scope ctest entries; the
expected baseline is now 7 in-scope tests passed + 3 Not Run
(nglcomp_test, GrantleeParserSmoke, utils_test).

Verified with a full pipeline run on the pruned tree: 46/46 targets
built, ctest 7/7 in-scope passed, 5 DEBs produced.
2026-11-14 00:25:30 +01:00
berrux-dev c12287471c Restore CommonUnitTestsPlaceholder (defines the MockCoordTrans target)
MockCoordTrans is a Release 2 GROUP3 target: a header-only static
library defined in Lts/Common/CommonUnitTestsPlaceholder/mocks. As a
header-only lib it has no source file as a ninja edge input, so the
build-closure keep set did not pull its dir in and the prune removed
its CMakeLists (ninja: unknown target MockCoordTrans). Restore the dir
and its add_subdirectory; the smoke tests inside stay behind their
default-OFF options.
2026-11-14 00:05:54 +01:00
berrux-dev 7c1c22637e Restore the full include/grantlee stub tree
include/grantlee/context.h (the only grantlee header referenced by kept
code) includes its sibling stubs (abstractlocalizer.h, ...); the
file-level include/ prune left those siblings behind, breaking
codegen_grantlee compilation (fatal error: abstractlocalizer.h). The
grantlee engine stubs are a self-contained header set — keep the whole
dir, same treatment as include/GeographicLib.
2026-11-13 23:49:40 +01:00
berrux-dev 5183c9419c Restore the external/ArcGIS symlink (build wiring, not pruneable)
FindArcGIS.cmake resolves the ArcGIS SDK via hardcoded hints rooted at
${CMAKE_SOURCE_DIR}/external/ArcGIS/MapsSDK_Qt_300.0.0/... ; in the
container that only resolves through this symlink to the pipeline-root
external/ mount. Its removal broke configure (Could NOT find ArcGIS,
missing ARCGIS_LIBRARY). No kept source references ArcGIS headers — the
include/ArcGIS tree stays removed; only the symlink is restored.
2026-11-13 23:42:23 +01:00
berrux-dev 7fc6f66649 Prune the source tree to the Release 2 build closure
Keep only what the Release 2 scope (46 targets) compiles and the build
pipeline needs, derived from the run-5 build.ninja closure (46 targets +
transitive deps) and a header scan resolved against the real -I roots of
the compile rules:

- 14133 tracked files removed (1.25 GB), incl. include/ArcGIS (1.03 GB),
  include/rti stubs (identical copies of the external RTI headers),
  out-of-scope Lts/Application, Lts/Viewer, Lts/Services/*, Lts/Tools
  generators, src/, tests/, specs/, translations/, external/
- kept: the 46 scope modules + their transitive service deps, codegen
  inputs (.xml, .grantlee), doxygen/ (configure_file at configure time),
  include/GeographicLib (libGeographicLib.so linked from the source tree),
  the 12 referenced include/ stub headers, pipeline files
  (new_docker_build_release2.sh, rpmbuild/, jenkins-ci-rme/, cmake/)
- 7 CMakeLists updated: drop add_subdirectory calls of the removed dirs
  (tests, translations, Lts/Plugins/ProjectDataManagement, qav, scripts,
  CommonUnitTestsPlaceholder, httq, LtsRestClient, LtsWebSocket,
  TopicEditorBase, ConnectDialog, StyleManager, Routing, DdsUnitTests,
  DdsUnitTestsPlaceholder, Light, Dark, Test, ExerciseManagement,
  ParticipantManagement, the 3 tools generators)

Result: 2157 tracked files (was 16290).
2026-11-13 23:33:32 +01:00
berrux-dev 2b1c3dc241 Remove the Release 1 pipeline files; point everything at Release 2
new_docker_build.sh and rpmbuild/make_rpm_ubuntu26.py (Release 1
validation-scope driver/producer) did not belong to this branch; their
functional callers are adapted to the Release 2 files:

- rpmbuild/make_rpm_ubuntu26_release2.py: PIPELINE_FILES now packages
  new_docker_build_release2.sh and make_rpm_ubuntu26_release2.py.
- jenkins-ci-rme/jenkins_builder_ubuntu26.sh: runs
  make_rpm_ubuntu26_release2.py with -DBUILD_RTI=ON and the Release 2
  target list (--build_targets; a full-tree build is not possible on
  this tree); staging tar also excludes ./build4*.
- jenkins-ci-rme/release-16-10-2026.sh (local dry run): calls
  new_docker_build_release2.sh; derives the pipeline root from the tree
  layout and exports MIGRATE_PIPELINE_ROOT; uses the prebuilt image when
  present, otherwise the driver installs deps in-container (the R1
  --build-prebuilt-image option does not exist in the R2 driver).
- jenkins-ci-rme/jenkins/Jenkinsfile: coverage stage runs the R2 driver
  with MIGRATE_PIPELINE_ROOT exported (wins over the checked-in .envrc,
  which carries a host-specific path).
- Doc/comment updates: Dockerfile header, install_arcgis.sh, publisher,
  Jenkinsfile descriptions, jenkins-ci-rme/README.md, README.md.

Remaining references to the old names are only in historical migration
reports, which are left as-is.
2026-11-13 21:13:13 +01:00
berrux-dev 42f9fbeebe README: align with the actual state of the Release 2 branch
Verified every claim against new_docker_build_release2.sh, the DEB
producer and a real pipeline run, then removed/fixed what does not
belong to this branch:

- Removed Step 1 (--build-prebuilt-image/--delete-prebuilt-image): those
  options do not exist in the driver.
- Replaced the Release 1 bookkeeping (R1 packages table, R1 modules
  table, 38-target count) with the actual Release 2 scope: 46 targets
  (GROUP1 6, GROUP3 36, GROUP5 3, GROUP6 1).
- Fixed the build description: Ninja (not make -j8), unique
  build4_<timestamp>_<pid> dirs (not a shared build4/), the real cmake
  flags (BUILD_RTI, BUILD_GROUP*, RTI defines), no RELEASE_BUILD flag.
- Fixed image/mount facts: default image qt6-migrated-legatus-release2
  (not guez-release2:2.0), /repo mount root (not /workspace), no
  WORKSPACE env var, no build4/release_build.log.
- Fixed DEB names/contents: qt6-release-*_1.0-1_amd64.deb (not
  guez-*_2.0), real PIPELINE_FILES list, honest note that the
  ctest-runtime DEB is currently empty (build4 vs build4_<ts> mismatch).
- ctest baseline: 7 in-scope tests passed + the 9 expected Not Run
  entries.
- Options reference: real options/defaults (lts-version 1.0), env
  override list matching the driver; troubleshooting updated
  (offscreen Qt, RTI license, prebuilt image).
2026-11-13 20:37:37 +01:00
berrux-dev c30bf7ac6b Remove committed build artifacts (build4_20261112_163648_1)
A full Ninja build directory (613 files, ~1GB of build output) was
committed to the tree. Build artifacts do not belong in the index; the
build4_* gitignore rule added in 06209a496 keeps regenerated copies
out of status.
2026-11-13 20:15:13 +01:00
berrux-dev e4de02f27c gitignore: ignore all driver build dirs (build4_*)
The driver builds into build4_$(date +%Y%m%d_%H%M%S)_$; the old
build4_2* pattern only covered current-year timestamps. Ignore the
whole family so build artifacts stop showing up as untracked.
2026-11-13 20:10:21 +01:00
berrux-dev 5538ff7c6e DEB: build the Release 2 scope instead of the impossible full tree
A full-tree build (ninja all) is not possible on the Release 2 tree:
out-of-scope modules reference modules excluded from the scope
(e.g. TopicEditorBase -> LtsScriptTimeline; 100+ CMakeLists references),
and cmake --install hard-fails on targets that were never built. Align
the DEB pipeline with its own description (binaries and libraries from
release scope S):

- make_rpm_ubuntu26_release2.py: new --build_targets option
  (space-separated CMake/Ninja targets; empty = legacy full tree).
  Step 1 builds only those targets; the runtime DEB is staged from the
  scoped build artifacts (bin/ + lib/) and packaged with build_deb
  nobuild, replacing the full-tree debuild/cmake-buildsystem path.
- new_docker_build_release2.sh: pass the Release 2 group targets via
  --build_targets; exclude the driver build4* dirs from the staging tar
  (the DEB step builds its own tree; nothing consumes the driver build
  output). Fix two comments inside the single-quoted docker bash -c
  string that contained apostrophes, which broke word construction and
  failed bash -n.
2026-11-13 18:27:40 +01:00
berrux-dev 751c990440 Driver: fix broken backslash continuation in DEB call, pass GUEZ_MODE to container
Run 3 exposed two driver bugs in the DEB step:
- A '#' comment line placed inside the backslash-continued python3
  invocation terminated the logical command early: python ran without
  --cmake_build_flags (hence the empty cmake flags and the recurring
  pdm_enums.hpp failure) and bash then tried to execute
  '--cmake_build_flags' as a command (exit 127). Moved the comment
  above the statement.
- GUEZ_MODE was defaulted on the host but never passed to the container
  (-e GUEZ_MODE missing), so the DEB cmake flags expanded -DGUEZ_MODE=
  (empty -> false in CMake).
2026-11-13 16:46:29 +01:00
berrux-dev 358aa5b47f Driver: -DBUILD_RTI=ON for DEB build, QT_QPA_PLATFORM=offscreen for ctest
- The DEB cmake flags lacked BUILD_RTI: the full-tree DEB build compiles
  RTI codegen consumers (svcPdmCommon -> ProjectDataManagement/pdm_enums.hpp)
  whose BUILD_RTI=OFF stubs were removed as 'forbidden OFF variants', so the
  deb_stage build failed with 'pdm_enums.hpp: No such file or directory'.
  RTI_INSTALL_DIR still resolves in-container via DOCKER_MOUNT_ROOT.
- ctest: GUI test executables (coprtcnv/prtcnv unit tests, test_nglpdfwidget)
  aborted in the headless container ('no Qt platform plugin could be
  initialized' - xcb needs a display); export QT_QPA_PLATFORM=offscreen
  (the offscreen plugin is present in the image).
2026-11-13 16:24:32 +01:00
berrux-dev 5aefc953f8 Driver: accept rti_license.dat from source tree, export RTI_LICENSE in container
- Host-side check now also accepts the license at the source tree root
  (checked-in location) instead of only MIGRATE_PIPELINE_ROOT, where it
  does not exist in this checkout
- In-container: export RTI_LICENSE pointing at the mounted license file so
  RTI Connext DDS processes (build tools, ctest) can find it at runtime
2026-11-13 15:58:35 +01:00
berrux-dev b24051cd0d Fix Release 2 build: restore test wiring lost in merge, use Ninja in DEB packaging
The full-module import merge (097e5b488) replaced the validated Release 2
test wiring with the full-tree CMake files, leaving 5 targets referenced by
new_docker_build_release2.sh / README undefined:

- Restore LogViewLogger library in TetraIF/LogView/CMakeLists.txt
  (pre-merge file defined both LogViewLogger lib and LogView exe)
- Re-add ADD_SUBDIRECTORY(unit-test) in TetraIF/CMakeLists.txt
  (coprtcnv_unit_test, logview_unit_test, prtcnv_unit_test)
- Add CommonUnitTestsPlaceholder to Lts/Common/CMakeLists.txt (MockCoordTrans)

Driver (new_docker_build_release2.sh):
- Pass -DBUILD_TESTING=ON: TetraIF/unit-test is gated on BUILD_TESTING
- Default GUEZ_MODE=ON: the DEB step expanded ${GUEZ_MODE} in-container
  where it was unset, producing -DGUEZ_MODE= (false in CMake)

rpmbuild/make_rpm_ubuntu26_release2.py:
- Use the Ninja generator (cmake -G Ninja / dh_auto_configure -GNinja):
  with CMake 4.2.3 in the legatus-qt6:1.0 image the Unix Makefiles
  generator emits no rule for AUTOMOC <target>_autogen/mocs_compilation.cpp
  ("No rule to make target") and every Qt target fails; Ninja handles
  automoc correctly (verified: ninja -n of all 39 Release 2 targets passes)
- Add ninja-build to debian Build-Depends

Verified inside legatus-qt6:1.0 (mount /repo, BUILD_RTI=ON, BUILD_TESTING=ON,
Ninja): cmake configure exit 0 and ninja -n of the full Release 2 target
list (GROUP1/3/5/6, 39 targets) exit 0.
2026-11-13 15:30:00 +01:00
berrux-dev bed6f077e6 Fix rpmbuild filename: add make_rpm_ubuntu26_release2.py (Release 2 DEB producer)
new_docker_build_release2.sh and the Release 2 README reference
rpmbuild/make_rpm_ubuntu26_release2.py, but only make_rpm_ubuntu26.py
existed (used by the jenkins-ci-rme builder). The Release 2 producer is
the same general 5-DEB builder (runtime, sources, ctest-runtime,
ctest-sources, build-pipeline), so add it under the expected name.
make_rpm_ubuntu26.py is kept for the jenkins-ci-rme flow.
2026-11-13 13:26:50 +01:00
berrux-dev 40b5a09489 Merge story/create-release-two-delivery-25_11_2026 into story/release-2-cleanup
Import the full AP3/AP4/AP9 Qt6 modules (create-two's 16,890-file
qt6-after tree: LtsSession, LtsWidgets, LtsCoordinate, LtsMultiMonitor,
PluginInterfaces, Lts/DDS, DdsView, LogViewer, SqlBrowser, ngl_codegen,
Krypto, etc.) into the Release 2 branch.

Kept from release-2-cleanup:
- new_docker_build_release2.sh (aqtinstall 'cleanup' build driver)
- Release 2 infra (jenkins-ci-rme/, rpmbuild/, Dockerfile, README.md,
  .clang-format, TetraIF/unit-test/)
- the pruned repo root
2026-11-13 13:00:27 +01:00
torstenandCopilot e97806442f Update README for Release 2 delivery
- Update scope section with Release 2 target breakdown (38 targets)
- Update DEB package names from qt6-release-* to guez-*
- Update test suite expectations (13 tests including TetraIF)
- Update build instructions with guez-release2:2.0 Docker image
- Update Steps 4-6 for Release 2 DEB packaging and CI/CD
- Update options reference table with version 2.0
- Add troubleshooting note for Qt modules and build script

Co-authored-by: Copilot <2235566219+Copilot@users.noreply.github.com>
2026-11-13 10:45:33 +00:00
torstenandCopilot 37dffeab46 Remove Qt6 apt packages - use aqt install-qt only
Removed 13 Qt6 packages from apt installation:
- libqt6core6, libqt6gui6, libqt6widgets6
- libqt6sql6, libqt6sql6-psql, libqt6test6
- qt6-base-dev, qt6-l10n-tools
- qt6-serialport-dev, qt6-svg-dev
- qt6-tools-dev-tools, qt6-tools-dev
- qt6-websockets-dev

Qt installation now uses ONLY aqt install-qt (lines 424-428)
System dependencies remain: build-essential, cmake, ninja-build, git, python3-pip, boost, kf6texttemplate, gtest/gmock, postgresql, vlc, ssl, xml, xerces

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-13 10:13:14 +00:00
torstenandCopilot e563800a85 Fix: Remove Qt packages from apt, use only aqtinstall for Qt dependencies
- Removed libqt6core6, libqt6gui6, libqt6widgets6, libqt6sql6,
  libqt6sql6-psql, libqt6test6, qt6-base-dev, qt6-l10n-tools,
  qt6-serialport-dev, qt6-svg-dev, qt6-tools-dev-tools,
  qt6-tools-dev, qt6-websockets-dev from apt-get install
- Qt 6.10.2 now installed exclusively via aqtinstall
- Matches reference script approach from story/release-validation-scope
- Reduces package conflicts and ensures consistent Qt version

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-13 09:52:02 +00:00
torstenandCopilot 2db87c4433 Remove svc* services and dead code from Release 2 build script
- Removed duplicate GROUP1_TARGETS definition (lines 306-316)
- Removed duplicate GROUP3_TARGETS definition with 100+ svc* services (lines 318-499)
- Set BUILD_GROUP1 default to OFF (not in Release 2 scope)
- Removed svcCoreClient from GROUP1_TARGETS
- Script reduced from 851 to 669 lines
- Only in-scope targets remain: 24 in GROUP3, 6 in GROUP1, 3 in GROUP5, 1 in GROUP6

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-13 08:46:45 +00:00
torsten 8716c392c6 Fix DEB packaging paths: use DOCKER_MOUNT_ROOT instead of hardcoded /workspace
- Replace all /workspace references with ${DOCKER_MOUNT_ROOT} in DEB packaging block
- Add WORKSPACE_DIR variable pointing to qt-migration-legatus subdirectory
- Use WORKSPACE_DIR as tar extraction source to correctly stage workspace files
- Fix output directory paths for RPM and packages-out locations

This fixes the staging error where tar couldn't find /workspace inside the container.
2026-11-13 00:23:25 +00:00
torsten b12ccbc9a3 Fix quote escaping in log_error printf for Docker inline script
- Changed single quotes to double quotes in printf statement
- Prevents bash syntax error when inline script is passed to docker run -c
- Fixes DEB packaging stage execution failure
2026-11-13 00:04:04 +00:00
torsten b521638c03 Add log_error() to Docker inline script for DEB packaging
- Fix 'log_error: command not found' in DEB packaging stage
- Docker run uses inline bash script with separate function definitions
- Added log_error() after log_info() in Docker inline script (line 712)
- Function executes inside container context where DEB packaging runs
2026-11-13 00:00:48 +00:00
torstenandCopilot 9ac37ce6a7 Add missing log_error function for DEB packaging
- log_error() function was used in DEB packaging block but not defined
- Added function definition after log_info() at script top
- Fixes 'log_error: command not found' error in DEB packaging stage

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-12 23:41:23 +00:00
torsten fbcecd12df Fix DEB packaging OS_VERSION extraction syntax
- Use eval with grep instead of awk to avoid quote escaping issues
- Extract VERSION_ID from /etc/os-release safely
2026-11-12 23:28:46 +00:00
torstenandCopilot bbff0833ca Add DEB packaging execution block for Release 2a
- Added complete DEB packaging logic from reference script
- Uses make_rpm_ubuntu26_release2.py with Release 2a filter
- Stages workspace, runs package build, copies .deb files to packages-out
- Triggered by --run-jenkins-builder flag

Co-authored-by: Copilot <2235566219+Copilot@users.noreply.github.com>
2026-11-12 23:21:33 +00:00
torstenandCopilot d2139cd7e3 Add LtsMultiMonitor and PluginInterfaces to Release 2a scope
- Enable LtsMultiMonitor and PluginInterfaces in Lts/Common/CMakeLists.txt
- Add LtsMultiMonitor, DataPluginInterface, GuiPluginInterface to GROUP3_TARGETS
- Required by LtsSession which is used by LtsWidgets

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-12 18:22:06 +00:00
torsten cfad8e695e Add LtsSession to Release 2a build (required by LtsWidgets) 2026-11-12 18:07:16 +00:00
torsten 65b997f993 Add LtsSession to GROUP3_TARGETS (required by LtsWidgets) 2026-11-12 17:55:07 +00:00
torstenandCopilot 16cf571caf Remove test executables from Release 2a scope
Removed pdmTests, eemTests, flmTests, srpFtTests from GROUP3_TARGETS
as they are test executables, not library targets.

Release 2a now contains only 18 library targets:
- 14 NGL/Qt single application libraries
- 2 wms_json_ds, tcpserver
- 2 LtsCoordinate, LtsCoordTrans

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-12 17:12:24 +00:00
torstenandCopilot 8d511d935c Remove LtsElevation from Release 2a scope
- Exclude LtsElevation library (depends on AssetManagement, needed only for Release 2b services)
- Update GROUP3_TARGETS to remove LtsElevation
- Comment out LtsElevation subdirectory in CMakeLists.txt

Co-authored-by: Copilot <2235566219+Copilot@users.noreply.github.com>
2026-11-12 16:50:14 +00:00
torstenandCopilot 68381278dd Task 3: Adapt script to conform to Release 1 options
Add Jenkins builder and coverage options:
- --run-jenkins-builder: Enable DEB package production mode
- --package-output-dir: Output directory for .deb packages
- --lts-version: LTS version for package metadata
- --project: Project name (guez)
- --build-number: Build number for package versioning
- --build-tag: Build tag/identifier
- --run-coverage: Enable lcov code coverage
- --coverage-output-dir: Output directory for coverage reports

Add MIGRATE_PIPELINE_ROOT handling with precedence:
1. Exported variable (Jenkinsfile)
2. .envrc file
3. Script location default

Add validation for mutually exclusive options:
- --run-jenkins-builder and --run-coverage cannot be used together

Export all new variables for Docker container and pass to CMake.

Co-authored-by: Copilot <223556619+Copilot@users.noreply.github.com>
2026-11-12 16:15:04 +00:00
torstenandCopilot 0c1f111d11 Task 1: Remove all svc* services from GROUP3 for Release 2a
- Removed 37 svc* service targets from GROUP3_TARGETS
- Release 2a now contains only shared libraries (23 targets):
  * NGL* libraries (12 targets)
  * QtSingleApplication libraries (2 targets)
  * Lts* core libraries (3 targets: LtsCoordinate, LtsCoordTrans, LtsElevation)
  * Support libraries (wms_json_ds, tcpserver)
  * Test libraries (pdmTests, eemTests, flmTests, srpFtTests)
- svc* services moved to Release 2b

Co-authored-by: Copilot <223558219+Copilot@users.noreply.github.com>
2026-11-12 15:50:44 +00:00
torstenandCopilot 7a1c9d1c5f filter: Apply Release 2 scope - 52 targets for GROUP3
Remove 126 excluded modules from GROUP3_TARGETS:
- AlarmManagement, AssetManagement, AudioVideoManagement
- CentralEffectSimulation (including svcAreaEffectSimulation)
- CodificationManagement, EffectShowManagement, Evaluations
- ExerciseEventManagement, FileManagement, FilterManagement
- GuezIedManagement, InfrastructureManagement, MarkerManagement
- Messaging, MeteoDataManagement, NotificationManagement
- NmeaManagement, OcBaseDownload, OcSituationClient/Server
- OnlineReports, OperatorManagement, PlanEditor
- PresentationManagement, ProjectionWorkstation
- RecordingManagement, ReportManagement, RoutingServiceNG
- ServiceManagement, ScreenRecording, ServiceMonitor
- SituationMap, SituationReplayManagement, SoundManagement
- TargetManagement, VideoOverlayManagement, WarehouseGuez

Kept 52 Release 2 targets:
- Core libs: NGL*, ngl*, qtsingle*, wms_json_ds, tcpserver
- Lts libs: LtsCoordinate, LtsCoordTrans, LtsElevation
- AP3 services: Pdm, Aes, Bld, Eem, Esc, Esm, Flm, Gmp, Obd, Osc, Oss
- AP9 tools: MapDummy, PedDummy, SituationReplay, Srp
- Tests: pdmTests, eemTests, flmTests, srpFtTests

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-11 23:10:02 +00:00
torsten 1123494db0 Remove svcAreaEffectSimulation from Release 2 (depends on excluded CentralEffectSimulation) 2026-11-11 22:46:34 +00:00
torstenandCopilot ac967a77d9 Add LtsElevation to GROUP3_TARGETS for Trajectory dependency
- LtsElevation required by Trajectory generator used in svcAesCommon
- Part of core libraries needed for AreaEffectSimulation
- Fixes build error: missing ltselevation_export.h

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-11 22:18:04 +00:00
torstenandCopilot 35c6f2d295 Filter GROUP3_TARGETS to Release 2 scope (65 targets)
Remove 113 excluded modules from Release 2 scope:
- AlarmManagement (svcAlm*)
- AssetManagement (svcAsm*)
- AudioVideoManagement (svcAvm*)
- CentralEffectSimulation (svcCes*)
- CodificationManagement (svcCod*)
- EffectShowManagement (svcEffectShow*)
- Evaluations (svcEvl*, evlTests)
- ExerciseEventManagement (svcEem* -> keep only svcEem*, remove svcExerciseEventManagement)
- FileManagement (svcFileManagement)
- FilterManagement (svcFlt*)
- GuezIedManagement (svcGim*)
- InfrastructureManagement (svcIsm*)
- MarkerManagement (svcMrk*)
- Messaging (svcMessaging)
- MeteoDataManagement (svcMdm*)
- NotificationManagement (svcNom*, svcNotificationManagement)
- NmeaManagement (svcNme*)
- OcBaseDownload (svcOcBaseDownload)
- OcSituationClient/Server (svcOcSituation*)
- OnlineReports (svcOreDummy)
- OperatorManagement (svcOpm*)
- PlanEditor (svcPedDummy)
- PresentationManagement (svcPre*)
- ProjectionWorkstation (svcPwsCommon)
- RecordingManagement (svcRecCommon, svcRecordingManagement)
- ReportManagement (svcRep*, svcReportAnalyzer, svcReportGenerator)
- RoutingServiceNG (svcSrmCommon)
- ServiceManagement (svcScm*, svcServiceManagement)
- SituationMap (svcSituationMap*)
- SituationReplayManagement (svcSrp* -> keep, remove management)
- SoundManagement (svcSom*)
- TargetManagement (svcTgt*)
- VideoOverlayManagement (svcVideoOverlayManagement)
- WarehouseGuez (svcWhg*)

Keep only essential Release 2 targets for AP3 scope.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-11 22:13:24 +00:00
torsten 0f27a5bc14 Fix svcAesCommon: make situationMapElevationMap and Trajectory conditional
- Use TARGET_EXISTS generator expressions for external dependencies
- Allows building without Viewer/SituationMap module in Release 2
- Maintains compatibility when those modules are available
2026-11-11 21:37:09 +00:00
torstenandCopilot 456f37548e Include LtsCoordinate for Release 2 build
Required dependency for svcAesClient/svcAesCommon
Part of AP3 shared libraries scope

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-11 21:19:08 +00:00
torstenandCopilot e40c9a2d40 Add LtsCoordinate and LtsCoordTrans to GROUP3_TARGETS
- Required by svcAesClient/svcAesCommon for coordinate transformation
- Fixes missing include directories for coordinate transformation library
- Both libraries are core dependencies for AreaEffectSimulation services

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-11 21:09:09 +00:00
torstenandCopilot 1a4d372d6c Fix Release 2 build script: correct variable passing and Docker exports
- Fixed CMake -DBUILD_GROUP* flags: removed extra quotes causing string literals
- Fixed build_group function calls: removed extra quotes around variables
- Added missing Docker environment variable exports for BUILD_GROUP1/3/5/6
- These fixes ensure Release 2 scope (AP3, AP4, AP9) builds correctly

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-11 16:31:01 +00:00
torsten c9d6dac20f Adds tmp deb folder 2026-11-11 09:46:31 +00:00
torsten 597b4bb42d Provides release 2 first iteration 2026-11-11 09:45:04 +00:00
torstenandCopilot 87235db012 refactor: clean up verbose migration comments
Remove redundant Qt6 migration comments that restate obvious API changes:
- QtConcurrent::run parameter order explanations (preserved where lambda wrapping needed)
- QStringRef/QStringView API changes (shortened to essential info)
- QComboBox::activated signal signature change
- QMap::unite() removal semantics
- QAction include path change
- QMouseEvent/QWheelEvent position() API
- QList/QVector equivalence in Qt6
- QFuture continuation API
- Code generation comments

Preserved comments explaining non-obvious Qt6 behavior or necessary
API migration details.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-04 12:05:23 +00:00
torstenandCopilot 062bf8f96e Qt6 migration verification: RTI 7.7 Pro integration and path fixes
Major changes:
- Merged branches: feature/arcgis300-symbology-migration, feature/lts-viewer-validation-testing-phase, bugfix/fix-warning-issue
- Integrated RTI 7.7 Pro commercial library with proper CMake configuration
- Fixed all hardcoded /workspace paths to use /repo (Docker mount point)
- Added DOCKER_MOUNT_ROOT parameter to new_docker_build.sh for configurable mount points
- Fixed RPATH configuration for proper runtime library loading

Technical fixes:
- cmake/FindRTI.cmake: Set CMP0111 policy unconditionally, fixed IMPORTED_LOCATION property setting outside target creation block, added debug logging
- CMakeLists.txt: Added CMP0111 before find_package(RTI), updated path detection for /repo, configured RPATH
- Lts/DDS/CMakeLists.txt: Reordered DdsUnitTests before DdsUnitTestsPlaceholder to fix test executable naming
- ArcGIS symbology: Removed deprecated m_sssResult and m_esriSwatchTaskUuid members (ArcGIS 300 API changes)

Build verification:
- 10 CPU build: 100% success (error fixing phase)
- 1 CPU build: 100% success (final validation)
- CTest: 675 tests run, 97% pass rate (654/675 passed)
- RTI DDS integration test: PASSED

Known issues:
- 21 tests failed (mostly 'Not Run' for missing smoke test executables)
- Timeout issues in bld_bsm_test and taboc_serialtest (connection refused errors)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-04 09:04:01 +00:00
berrux-dev d130c55be5 Fix Qt6 resource compilation so LogView icons are embedded at runtime
- QT5_ADD_RESOURCES was a no-op stub under Qt6, silently dropping .qrc
  files: LogView's :/image/* icons were never compiled into the binary.
  Map the stub onto qt6_add_resources() (outfiles-variable form, which
  appends the generated qrc_*.cpp to the source list). LogView is the
  only caller of the stub.
- nglwidgets' Qt6 branch only processed rme_light_style.qrc;
  nglresources.qrc (which provides :icons/16x16/* toolbar/window icons)
  was left as a raw file in the source list and never compiled
  (CMAKE_AUTORCC is off). Process both qrcs.
- LogView never loads libnglwidgets.so at runtime (--as-needed drops it:
  the code uses no nglwidgets symbols), so its :icons/16x16 resources
  were never registered for the app. Embed the 20 icons LogView actually
  uses directly into LogViewResources.qrc with explicit aliases (rcc
  rejects XML comments in .qrc and, without an alias, registers the full
  relative path as the resource name).
2026-11-03 13:31:02 +01:00
torsten f6de7a758b Adds commercial RTI 6.6 Pro library 2026-11-02 17:43:52 +00:00
torsten fda39f40ce Adds commercial RTI 6.6 Pro library 2026-11-02 17:21:06 +00:00