eg. common module depends on percetion , and perception denpends on common,
common <===> planning
I think all common code should be put in common and all modules just depend on common ,what`s your opinions?
If you take a closer look, common only depends on "//modules/perception/proto:perception_proto" and "//modules/planning/proto:planning_proto", which are the data proto of perception/planning. It's necessary as common::AdapaterManager is a component to manage all the data and thus needs to depend on them. As long as there's no code logic level cyclic dependency we should be good.
It is because of protobuf and adapters.
Closing this issue as it appears to be resolved.
Most helpful comment
If you take a closer look, common only depends on "//modules/perception/proto:perception_proto" and "//modules/planning/proto:planning_proto", which are the data proto of perception/planning. It's necessary as common::AdapaterManager is a component to manage all the data and thus needs to depend on them. As long as there's no code logic level cyclic dependency we should be good.