-
Notifications
You must be signed in to change notification settings - Fork 108
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
Allow userdata to be defined under self in manifest repository #567
Allow userdata to be defined under self in manifest repository #567
Conversation
Let me know if I need to bump the schema version number. I wasn't sure that I needed to since I thought version '0.10' was the last official version. I can see that it was bumped recently so I'm thinking I might be able to slip this change in without bumping it again. |
Yes, this needs a new schema version. We only bump the schema version when we make backwards-incompatible changes, which is not every release. |
Done. Please let me know if I did it wrong. |
@mbolivar-nordic - Any suggestions on how to get this PR moving towards a merge? |
@mbolivar-nordic - Another ping? Any way I can get this moving? |
@RyanLindemanCAE sorry, #572 was kind of a hot potato that I had to deal with. Could you please rebase on top of that now that I've merged #571, which fixed #572, resolving the conflicts? I'll take another look and merge once that's done. |
68ce8cb
to
b03476e
Compare
b03476e
to
f06add5
Compare
@mbolivar-nordic I have done as you asked, please review my changes. |
It would be nice to find a way to "merge" the userdata values found in lower level manifest files similar to how you merge west_commands but I wasn't sure how to handle that since userdata can be either a string or key/value pair. |
@mbolivar-nordic - The more I think about this, the more I think we need a slightly better solution then what is currently implemented. For example, if project A (the main manifest) has userdata defined under self and includes project B (using self.imports) which also has userdata defined under self then how would someone access both of these userdata definitions? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks so much for the update. It looks like you meant to add a userdata
attribute or property to the Manifest
class itself, rather than just saving it in the ManifestProject
. I have no objection to adding it to ManifestProject
if it is useful to you, but having an attribute in the Manifest
class makes good sense to me as the "recommended" place to get this, since that will be a nice long-term place to get this information after we successfully phase out the ManifestProject
class (see #327). Did you forget to add it?
…oving ManifestProject class eventually and strengthen related tests
When I freeze my manifest file as part of a release it uses the ManifestProject to get the "self" details for the frozen file. When you remove ManifestProject, I expect you will use the Manifest class to obtain the "self" details during a freeze operation. Hopefully that helps explain why I think userdata should be in ManifestProject too for now. It also makes it easier to iterate through all "projects" seeking out userdata information. Thoughts or comments are welcome. |
The purpose of this PR is to allow for specifying userdata in the manifest repository. One of the primary reasons I am making the switch from the Google repo tool to the Zephyr west tool is to allow for specifying the firmware version information using the userdata capability in the manifest file. I also wanted to be able to combine my manifest repository with my project repository. I soon discovered that userdata is allowed for projects but excluded for no seemingly good reason for the manifest repository.