Re: Recursive checkout with West
Jørn Villesen Christensen <extjvc@...>
Hi Carles (and others),
On 11/10/2019 21.46, Cufi, Carles wrote:
Hi there,-----Original Message----- From: users@... <users@...> On Behalf Of Jørn Villesen Christensen via Lists.Zephyrproject.Org Sent: 11 October 2019 21:20 To: users@... Cc: users@... Subject: [Zephyr-users] Recursive checkout with West Hi Zephyr community, I am a little bit uncertain whether this is the correct list to ask for help; if not I would appreciate if you could guide me to the correct place :-) TLDR: (Current) main question: Is it possible to make West work with recursive West-based projects? I.e. have a top level project (managed by West) that has another dependency (Zephyr) that also have a west.yml file? A little more background: I am new to Zephyr and to West, but I am working on a project where we are considering to use both :-) We do have other external dependencies and we also have a variety of products that a) uses the same dependencies (drivers, controllers, etc.) and b) may or may not use Zephyr, or different configurations of Zephyr. So in a learning step, we tried to make a top level project that would depend on Zephyr and another project. The intention was just to see how West and the build system would behave. What happens is that West is able to check out the project and to download the dependencies in the top level west.yml. However, it does not download the dependencies of Zephyr. Is this possible? Or is this really unintended use of West (and Zephyr)?Not currently, but work to support this is ongoing right now, since this has been requested multiple times already and we realize it is a critical feature to have. Feel free to track progress and add your requirements here: https://github.com/zephyrproject-rtos/west/issues/221
Thank you for your response and link to the issue you are working on. But it seems to me that what you are working on / discussing is a slightly different issue - or at least different solution (than I had imagined) to the challenges I face. Let me sketch it out.
My vision / idea (a.k.a. recursive parsing):
What I understand you are creating:
Have you (as the Zephyr community) considered the recursive parsing approach?
Below are my thoughts on (implementing) this. If you find it interesting, I would love some feedback. If you already considered this (and decided against it) feel free to skip reading the last part of my mail. But I would like to hear your thoughts on the
subject :-) (Perhaps you can link me to a discussion elsewhere :) ).
=== Longer story: ===
The main benefits of recursive parsing (as I see it):
Challenges in build procedure:
: Not really a question. I don't know it, but it is on my todo list to read up upon. So ignore this question unless it has significance for this discussion.
Then there is an issue about duplicated (sub) dependencies:
I think the discussion on how to handle this should be deferred to another place than this (already too long) mail - but I guess this is an issue that would also have to be considered in the merge-yml-files approach that you are working on atm.
If you got this far: Thank you for taking your time to read my thoughts :-)