From 3838d27b4780b3d1f816827885a17b3d7ad0e68e Mon Sep 17 00:00:00 2001 From: Sam Lewis Date: Fri, 1 Jul 2022 14:52:16 +1000 Subject: [PATCH] Add a tip to the HOWTO for new message groups I was surprised that these files weren't auto-generated, but listing this as an extra step will hopefully avoid confusion for developers adding new message groups in the future. --- HOWTO.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/HOWTO.md b/HOWTO.md index 5755b85779..6fd3c6f398 100644 --- a/HOWTO.md +++ b/HOWTO.md @@ -40,7 +40,11 @@ process. This is likely to change in the future. 2. Increment `number_of_messages` in `python/tests/sbp/test_table.py` by the corresponding number of new messages. -3. Generate new clients and documentation by running `make +3. If adding a new "group" of messages (adding a new YAML file to + `spec/yaml/swiftnav/sbp`), add the new message group to + `python/sbp/table.py` and `javascript/sbp/msg.js`. + +4. Generate new clients and documentation by running `make all`. Verify that the generated code, which isn't too complicated, meets your expectations, as allowed messages are limited by the underlying language implementation. For example, you can't specify @@ -49,16 +53,16 @@ process. This is likely to change in the future. materialize a 0-length array C99 extension in the middle of the struct. GCC won't compile this. -4. (Optional) Add a [`test`](spec/tests/yaml/swiftnav/sbp) case and +5. (Optional) Add a [`test`](spec/tests/yaml/swiftnav/sbp) case and update the appropriate language libaries using `make gen`. If a test case is not added, increment `EXPECTED_MISSING_MESSAGES` in `python/tests/sbp/test_messages.py`. -5. Run `make test`. +6. Run `make test`. -6. Submit a pull request. +7. Submit a pull request. -7. If Swift's internal test tooling needs to be updated to use your +8. If Swift's internal test tooling needs to be updated to use your new message, deploy the updated Python client first, and then the C client. We haven't quite decided on the details of this process.