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.
This commit is contained in:
1 parent
4bc64639e4
commit
a62b729577
4 files changed
+257
-7
No files matched your search
Executable
+79
@@ -0,0 +1,79 @@
|
|||||||
|
c# UFOM HLA Plugin
|
||||||
|
|
||||||
|
This is a small documentation of the UFOM HLA TAB Plugin. This document will cover most of the behaviours of the different Telegrams that are supported.
|
||||||
|
## Change Position
|
||||||
|
This plugin publishes all changes in position from every Participant that is not external. A "MountActionRequest" will be sent out if an external participant mounts an internal participant ( vehicle ).
|
||||||
|
- External Participant Mounts Internal Participant -> **MountActionRequest** will be sent.
|
||||||
|
- External Participant Unmounts from internal participant -> **UnmountActionRequest** will be sent.
|
||||||
|
- Mounted external participant mounts any internal participant -> **MountActionRequest** will be sent.
|
||||||
|
> **Note:** No **UnmountActionRequest** will be sent in this case
|
||||||
|
|
||||||
|
- Mounted external participant mounts any external participant -> **Nothing** will be sent.
|
||||||
|
|
||||||
|
## JSON Telegrams
|
||||||
|
### UFOMHLA_ADD_PARTICIPANT
|
||||||
|
ID: 8100
|
||||||
|
|
||||||
|
### UFOMHLA_REMOVE_PARTICIPANT
|
||||||
|
ID: 8101
|
||||||
|
|
||||||
|
### UFOMHLA_POSITION_CHANGED
|
||||||
|
ID: 8102
|
||||||
|
|
||||||
|
#### Example:
|
||||||
|
|
||||||
|
{
|
||||||
|
"typeId": 8102,
|
||||||
|
"type": "UFomHlaPositionChanged",
|
||||||
|
"data":{
|
||||||
|
"header": {
|
||||||
|
"equipmentNumber": 1234,
|
||||||
|
"timeStamp": 12341234
|
||||||
|
},
|
||||||
|
"lon": 1.2341234,
|
||||||
|
"lat": 1.2341234,
|
||||||
|
"z": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
### UFOMHLA_VULNERABILITY_STATE_CHANGED
|
||||||
|
ID: 8103
|
||||||
|
|
||||||
|
### UFOMHLA_LASER_DESIGNATION
|
||||||
|
ID: 8104
|
||||||
|
|
||||||
|
### UFOMHLA_SEND_CHARGE_TYPES
|
||||||
|
ID: 8105
|
||||||
|
|
||||||
|
### UFOMHLA_PARTICIPANT_MOUNT
|
||||||
|
ID: 8106
|
||||||
|
**mountedOn** : Equipment number of the participant to be mounted
|
||||||
|
#### Example:
|
||||||
|
|
||||||
|
{
|
||||||
|
"typeId": 8101,
|
||||||
|
"type": "UFomHlaParticipantMount",
|
||||||
|
"data":{
|
||||||
|
"header": {
|
||||||
|
"equipmentNumber": 1234,
|
||||||
|
"timeStamp": 12341234
|
||||||
|
},
|
||||||
|
"mountedOn": 123,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
### UFOMHLA_PARTICIPANT_UNMOUNT
|
||||||
|
ID: 8107
|
||||||
|
#### Example:
|
||||||
|
|
||||||
|
{
|
||||||
|
"typeId": 8101,
|
||||||
|
"type": "UFomHlaParticipantUnmount",
|
||||||
|
"data":{
|
||||||
|
"header": {
|
||||||
|
"equipmentNumber": 1234,
|
||||||
|
"timeStamp": 12341234
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+120
@@ -0,0 +1,120 @@
|
|||||||
|
All Telegrams only defined for communication between TAB-Plugin and Apache Virtual Machine
|
||||||
|
|
||||||
|
|
||||||
|
AddParticipant Telegram(Sending updated or added participant to Apache)
|
||||||
|
|
||||||
|
Example Telegram:
|
||||||
|
<pre><code>
|
||||||
|
{
|
||||||
|
typeId:8000,
|
||||||
|
type: ApacheHlaAddParticipant,
|
||||||
|
data:
|
||||||
|
{
|
||||||
|
header: {
|
||||||
|
equipmentNumber: 42,
|
||||||
|
timeStamp: MsecsSinceEpoch
|
||||||
|
},
|
||||||
|
status: 11,
|
||||||
|
forceIdentifier: 42,
|
||||||
|
ets: "2.0.0.0.0.0.1",
|
||||||
|
GeoPosition: {
|
||||||
|
lon: 15.145274,
|
||||||
|
lat: 24.5554556,
|
||||||
|
z: 55.000124
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</pre></code>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
RemoveParticipant Telegram(Sending deleted participant to Apache)
|
||||||
|
|
||||||
|
|
||||||
|
Example Telegram:
|
||||||
|
<pre><code>
|
||||||
|
{
|
||||||
|
typeId:8001,
|
||||||
|
type: ApacheHlaRemoveParticipant,
|
||||||
|
data:
|
||||||
|
{
|
||||||
|
header: {
|
||||||
|
equipmentNumber: 42,
|
||||||
|
timeStamp: MsecsSinceEpoch
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</pre></code>
|
||||||
|
|
||||||
|
Change Position Telegram( Send new Position of participant to Apache)
|
||||||
|
|
||||||
|
Example Telegram:
|
||||||
|
<pre><code>
|
||||||
|
{
|
||||||
|
typeId:8002,
|
||||||
|
type: ApacheHlaPositionChanged,
|
||||||
|
data:
|
||||||
|
{
|
||||||
|
header: {
|
||||||
|
equipmentNumber: 42,
|
||||||
|
timeStamp: MsecsSinceEpoch
|
||||||
|
},
|
||||||
|
lon: 15.275884,
|
||||||
|
lat: 37.854856,
|
||||||
|
z: 42.255278
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</pre></code>
|
||||||
|
|
||||||
|
Change VulnerabilityState Telegram(Sending updated VulnerabilityState to Apache)
|
||||||
|
|
||||||
|
|
||||||
|
Example Telegram:
|
||||||
|
<pre><code>
|
||||||
|
{
|
||||||
|
typeId:8003,
|
||||||
|
type: ApacheHlaVulnerabilityStateChanged,
|
||||||
|
data:
|
||||||
|
{
|
||||||
|
header: {
|
||||||
|
equipmentNumber: 42,
|
||||||
|
timeStamp: MsecsSinceEpoch
|
||||||
|
},
|
||||||
|
status: 11
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</pre></code>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
AllChargeTypes Telegram(Sending all Charge Types at the beginning of an exercise to Apache)
|
||||||
|
|
||||||
|
|
||||||
|
Example Telegram:
|
||||||
|
|
||||||
|
<pre><code>
|
||||||
|
{
|
||||||
|
typeId:8005,
|
||||||
|
type: ApacheHlaSendChargeTypes,
|
||||||
|
data:
|
||||||
|
[
|
||||||
|
{
|
||||||
|
id: 420,
|
||||||
|
name: 42mm,
|
||||||
|
entityTypeStruct: TestTest,
|
||||||
|
primaryGearTasCode: 11,
|
||||||
|
radius: 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 777,
|
||||||
|
name: 77mm,
|
||||||
|
entityTypeStruct: TestTest,
|
||||||
|
primaryGearTasCode: 77,
|
||||||
|
radius: 77
|
||||||
|
},
|
||||||
|
{
|
||||||
|
...
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
</pre></code>
|
||||||
@@ -38,7 +38,7 @@ The group target lists are the `GROUP*_TARGETS` arrays in
|
|||||||
- `new_docker_build_release2.sh` — Release 2 build driver (compile, ctest, DEB packaging, coverage)
|
- `new_docker_build_release2.sh` — Release 2 build driver (compile, ctest, DEB packaging, coverage)
|
||||||
- `Dockerfile` — recipe of the build image (Ubuntu 26.04 + Qt 6.10.2 + deps)
|
- `Dockerfile` — recipe of the build image (Ubuntu 26.04 + Qt 6.10.2 + deps)
|
||||||
- `rpmbuild/make_rpm_ubuntu26_release2.py` — Release 2 DEB package producer (5 packages)
|
- `rpmbuild/make_rpm_ubuntu26_release2.py` — Release 2 DEB package producer (5 packages)
|
||||||
- `jenkins-ci-rme/` — in-tree copy of the Jenkins CI flow (Jenkinsfile, builder, publisher, local dry run)
|
- `jenkins-ci-rme/` — in-tree copy of the Jenkins CI flow (see its own `README.md`)
|
||||||
- `build4_<timestamp>_<pid>/` — per-run build tree, created by the driver (git-ignored via `build4_*`)
|
- `build4_<timestamp>_<pid>/` — per-run build tree, created by the driver (git-ignored via `build4_*`)
|
||||||
|
|
||||||
**Toolchain inside the image:** Ubuntu 26.04, Qt 6.10.2 (`/opt/Qt/6.10.2/gcc_64`),
|
**Toolchain inside the image:** Ubuntu 26.04, Qt 6.10.2 (`/opt/Qt/6.10.2/gcc_64`),
|
||||||
@@ -231,12 +231,7 @@ local dry run of the same flow without Jenkins:
|
|||||||
jenkins-ci-rme/release-16-10-2026.sh
|
jenkins-ci-rme/release-16-10-2026.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
The pipeline files: `jenkins-ci-rme/Jenkinsfile` (job entry point),
|
See `jenkins-ci-rme/README.md` for the pipeline details.
|
||||||
`jenkins-ci-rme/jenkins/Jenkinsfile` (build body: install the prebuilt
|
|
||||||
image when missing, run the builder, coverage, publish),
|
|
||||||
`jenkins-ci-rme/jenkins_builder_ubuntu26.sh` (in-container DEB build),
|
|
||||||
`jenkins-ci-rme/jenkins_publisher_ubuntu26.sh` (upload to the artifact
|
|
||||||
repository).
|
|
||||||
|
|
||||||
## Step 5 — Code coverage (lcov)
|
## Step 5 — Code coverage (lcov)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,56 @@
|
|||||||
|
# jenkins-ci-rme — release pipeline for the Qt6 Release 2 branch
|
||||||
|
|
||||||
|
In-tree copy of the Jenkins CI flow, adapted so the release pipeline depends
|
||||||
|
only on files inside this source tree:
|
||||||
|
|
||||||
|
| File | Purpose |
|
||||||
|
|---|---|
|
||||||
|
| `Jenkinsfile` | Jenkins entry point (job script path `jenkins-ci-rme/Jenkinsfile`): job properties/parameters, build node, checkout with submodules, then `load`s `jenkins-ci-rme/jenkins/Jenkinsfile` |
|
||||||
|
| `jenkins/Jenkinsfile` | Build body (per OS version, sequentially): install the prebuilt image from `legatus-qt6_1.0.tar.gz` when missing, run the builder inside the container, coverage, publish the DEBs to the artifact repo |
|
||||||
|
| `jenkins_builder_ubuntu26.sh` | Runs **inside** the build container: stages the workspace, runs the in-tree `rpmbuild/make_rpm_ubuntu26_release2.py` with the Release 2 target list, copies the DEBs to the packages-out mount |
|
||||||
|
| `jenkins_publisher_ubuntu26.sh` | Runs on the Jenkins agent: uploads the DEBs from `${WORKSPACE}/rpms/${PROJECT}/${OS_VERSION}/` to the internal artifact repository |
|
||||||
|
| `release-16-10-2026.sh` | Local driver: the same flow without Jenkins, through the in-tree `new_docker_build_release2.sh` |
|
||||||
|
|
||||||
|
## Not included (superseded)
|
||||||
|
|
||||||
|
- `jenkins_builder.sh` / `jenkins_publisher.sh` — openSUSE/RPM flow, not used
|
||||||
|
by this branch (DEB/Ubuntu 26.04 only)
|
||||||
|
- `Dockerfile-15.1` / `Dockerfile-ubuntu26.04` / `Dockerfile-ubuntu26-qt6` —
|
||||||
|
old image recipes; the prebuilt build image is built from the in-tree
|
||||||
|
`Dockerfile` (one level up)
|
||||||
|
- `jenkins_notifier.sh` — Bitbucket build-status notification, not part of
|
||||||
|
this project
|
||||||
|
|
||||||
|
## Adaptations vs. the outer-repo copy
|
||||||
|
|
||||||
|
- Packaging uses the **in-tree** `rpmbuild/make_rpm_ubuntu26_release2.py`
|
||||||
|
(was `${WORKSPACE}/rpmbuild` from the outer repo)
|
||||||
|
- The prebuilt build image `legatus-qt6:1.0` ships in the repo as
|
||||||
|
`legatus-qt6_1.0.tar.gz` (repo root); Jenkins `docker load`s it only when
|
||||||
|
the image is not installed on the agent yet, and never builds it
|
||||||
|
- `MIGRATE_PIPELINE_ROOT` is exported by the local dry run (derived from the
|
||||||
|
tree location); `new_docker_build_release2.sh` falls back to its own
|
||||||
|
location when it is not set
|
||||||
|
- DEB output path: `${WORKSPACE}/rpms/${PROJECT}/${OS_VERSION}/` (Jenkins
|
||||||
|
convention); the packages-out copy is skipped when that directory is the
|
||||||
|
make_rpm output dir (same device:inode guard as in
|
||||||
|
`new_docker_build_release2.sh`)
|
||||||
|
- Publisher uploads `${WORKSPACE}/rpms/${PROJECT}/${OS_VERSION}/` directly —
|
||||||
|
`make_rpm_ubuntu26_release2.py` writes the DEBs there without a TDS subfolder
|
||||||
|
- The post-publish Cleanup stage was dropped: the DEBs are kept under
|
||||||
|
`${WORKSPACE}/rpms/...` (the documented output location)
|
||||||
|
|
||||||
|
## Local run
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd <pipeline root>/qt-migration-legatus/qt6-after/qt6-migrated-legatus
|
||||||
|
bash ./jenkins-ci-rme/release-16-10-2026.sh
|
||||||
|
# DEBs: <pipeline root>/rpms/guez/26.04/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Jenkins setup
|
||||||
|
|
||||||
|
The job SCM is the DLBO Qt6 repository; the script path is
|
||||||
|
`jenkins-ci-rme/Jenkinsfile`, which loads `jenkins-ci-rme/jenkins/Jenkinsfile`.
|
||||||
|
Required Jenkins credential: `internal-repo-uploader` (username/password for
|
||||||
|
the artifact repository).
|
||||||
Reference in new issue
Block a user