zephyrproject-rtos / west

West, Zephyr's meta-tool
https://docs.zephyrproject.org/latest/guides/west/index.html
Apache License 2.0
231 stars 122 forks source link

manifest: Add a new `description` project attribute #680

Closed carlescufi closed 1 year ago

carlescufi commented 1 year ago

This PR adds a new description project attribute that contains an optional text description of the project.

carlescufi commented 1 year ago

@mbolivar-ampere before I start modifying/adding tests I'd like to discuss whether you would like the Project() constructor signature to look like. I currently have:

   def __init__(self, name: str, description: Optional[str], url: str,
                 revision: Optional[str] = None,
                 path: Optional[PathType] = None,
                 submodules: SubmodulesType = False,
                 clone_depth: Optional[int] = None,
                 west_commands: Optional[WestCommandsType] = None,
                 topdir: Optional[PathType] = None,
                 remote_name: Optional[str] = None,
                 groups: Optional[GroupsType] = None,
                 userdata: Optional[Any] = None):

but this will break existing apps. Should I instead place description as the last argument?

carlescufi commented 1 year ago

Interesting! I'm aware the west documentation is unfortunately still in a different repo, so could elaborate in the commit message or source comments about where this new field will be displayed and how? Truncated in the default west list maybe?

Right now I've only added to the repr() but ultimately this is really to be displayed in the manifest itself. Today it is hard to identify projects in large manifests with functionality, and by adding this field I am hoping that this will be easier.

carlescufi commented 1 year ago

Thanks for the review @mbolivar-ampere! Comments addressed.