-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix #1170, refactor target config objects #1174
Conversation
Created as a draft because this still needs a few unit test updates to get full coverage on the modifications, but before I do that I wanted to get some other eyes on it to make sure the general concept is good to go. |
Also worth a note - there was previous concern as to being potentially too tightly coupled with "git" for the version control info. In this change I have also isolated the version control actions to a separate script ( |
42b3a69
to
1fed3a1
Compare
Rebased to "main" ... but will still hold this one as draft until consensus is reached in nasa/cFS#200 since this will also affected by that decision. |
Rework the dynamic content so it is generated entirely via a CMake "configure_file()" command into a C source file (.c) that can be built as normal. This removes the need for inline `#include` statements to pull in data fragments to fill in the data.
1fed3a1
to
228b914
Compare
@astrogeco I'm fine with fast-tracking this one if it helps... or review the WIP from Joe as long as we can get the WIP closed out and merged next cycle. |
CCB 2021-03-03 APPROVED
|
Describe the contribution
Rework the dynamic content so it is generated entirely via a CMake "configure_file()" command into a C source file (.c) that
can be built as normal.
This removes the need for inline
#include
statements to pull in data fragments to fill in the data.Fixes #1170
Fixes #352
Testing performed
Build and run all unit tests, sanity test CFE, confirm versions reported as expected.
Expected behavior changes
This reports multiple event "91" (version info) - one event for each statically linked code module. This now also includes supplemental modules such as "msg" and "sbr" (these were not reported at all before).
This also moves reporting of the "mission config" name from event 91 to event 92 (build info) as it is not really version info. Ideally event 91 should be strictly for source control revision info. Any other environment/config info should be in the other events.
System(s) tested on
Ubuntu 20.04
Additional context
This also attempts to better differentiate/clarify the two different versions that are reported.
The first version is administratively-assigned, traditional "semantic" version (major/minor/rev plus dev build number). This is updated manually and it is what is reported in CFE event 2 during start up as follows:
The second version is the automatically-obtained "source" version which is gained by introspection of the source code at compile time. This is reported in CFE event 91, as follows:
Important to note that instead of squeezing this all into a single event 91 as had been done before, this sends a separate event for each component. This means that all components can be done (note this includes msg/sbr/resourceid now, these were not reported before) as well as making it possible to split "cfe-core" into its components as well. It will scale more easily to any number of modular components.
Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.