Currently there are multiple instances of cyclic dependency between various chromecast components. This may be because for a long time anything under chromecast was allowed to depend on anything else. We did not enforce DEPS properly. The result is a big ball of mud.
We clarified and started enforcing DEPS starting this patch:
https://codereview.chromium.org/2206813002
More needs to be done to eliminate bad dependencies:
1. No chromecast module should depend back on content layer. The content layer consists of code in the following directories:
- content/
- chromecast/app/
- chromecast/browser/
- chromecast/renderer/
- chromecast/common/
- chromecast/internal/shell/
2. There should be no cyclic dependencies between modules.
Comment 1 by alokp@chromium.org
, Nov 15 2016