Circular dependency causing application not to run

Hello,

I have below apps and components.

A.adef

  • c1 (provides b1.api)
    -c2 (requires d1.api and provides e1.api)
    -c3 (provides b1.api and d1.api and requires e1.api)

B.adef
-c4 (requires c1.api and a1.api)
-c5 (provides a1.api requires b1.api)
-c6 (provides c1.api)

Both apps compiles just fine, but when running them I am seeing there are few WAITING CLIENTS
in sdir list which causing application A not to run.

Is there any better way of accomplishing IPC in legato rather than exposing APIs between each components and Applications to talk to each other as exposing APIs for everything is introducing more and more complexity and its running into circular dependency.

Thanks
Vishal

How about building one more app?

How it will resolve circular dependency ?

I think you need to combine

-c2 (requires d1.api and provides e1.api)
-c3 (provides b1.api and d1.api and requires e1.api)