-
Notifications
You must be signed in to change notification settings - Fork 204
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
Implement "CFE_ES_GetVersion()" function #1176
Comments
Thinking about this a bit, at first I was just thinking to put this info in ES, but if the direction is to ultimately make all core apps into separate modules - so ES, EVS, SB, TBL, TIME, FS will all need separate implementations of this. They will be the same thing initially, but to be correct, this is a bit more work here. (6x to be exact). |
Extrapolating long-term this begs the questions:
We might want to sit back and think about this a bit |
Every module linked to create cFE should report version, but it doesn't have to be different (we supply all the default/supported modules as part of cFE)
No, we supply a single consistent set and call it "cFE"
Happy to chat/splinter, but this would need to happen ASAP. Caelum is closing out. |
It's perfectly fine (I think) to manage all the "core" modules together in the same repo, and have them all report the same version. But we are already allowing users to override certain modular components now - namely If there is a requirement that dependent code/apps be able to obtain the version number of its environment at runtime - then it only makes sense that each replaceable component independently reports its version. This way if a mission chooses to override that component - they can identify at runtime that they are running their customized version instead of the default framework version of that component. That being said when you add in the "numeric" version numbers that we also need to know in certain cases, this means we report 5 different versions for everything:
If every replaceable module has to report all 5 of these, and we are moving toward full modularity, then this is definitely a scaling issue here. With ~16 different modules (by my count, and growing) that means 80 different version blobs. |
Yeah, seems like this is blowing up a bit. Maybe push to post Caelum to give us more time? |
I guess the big question here is whether its sufficient to simply report the version itself, or if it needs to implement a method where dependencies can also obtain/act on this info. If the requirement is simply to report but not make it available up the stack - then If the requirement is to also make it available up the stack for dependencies - then I agree this needs more consideration. |
Our requirement is to report. I think available up the stack is future-proofing (if someday modules/apps check at runtime for support). I see this as a "nice-to-have". |
The monorepo approach for cFE works for us but wouldn't it force a clone-and-own approach for anyone who wants to customize a module? |
No. We've got examples for out of tree modules. |
No - because of CMake. They put their customized version in the search path and it will be used instead of the default framework version of that module. They clone and own the module, but just that module, not the whole framework. |
See my comment on the osal ticket, what is the benefit of reporting at this level of granularity? |
OK -- Based on discussion here and requirement to report only, I suggest this: OSAL and PSP do need APIs - because they don't have the ability to directly report, CFE must report on their behalf. So CFE must obtain this info at runtime and report it. But CFE itself does not need to provide API at this time - because it (and everything above it) can self-report. So we can defer this ticket or close as invalid/wontfix. |
Is your feature request related to a problem? Please describe.
As in nasa/osal#821 it is preferable to obtain version strings via an API call rather than as a macro, because of how/where it is evaluated.
Describe the solution you'd like
Implement API calls that return the version strings currently defined as macros in
cfe_version.h
Additional context
See nasa/osal#821.
Requester Info
Joseph Hickey, Vantage Systems, Inc.
The text was updated successfully, but these errors were encountered: