There are multiple issues with consent dependencies:
1) There is a runtime dependency cycle UserEventService <-> ProfileSyncService. UserEventService dependency on ProfileSyncService is missing.
2) There is a runtime dependency cycle ConsentAuditor <-> ProfileSyncService. ConsentAuditor dependency on ProfileSyncService is missing.
3) On iOS ProfileSyncService runtime dependency on UserEventService is missing.
4) On iOS ConsentAuditor dependency on ProfileSyncService is missing.
5) On iOS there is build.gn dependency cycle between ConsentAuditorFactory target and ProfileSyncServiceFactory target. Note that UserEventServiceFactory is in the same target as ProfileSyncServiceFactory. ConsentAuditorFactory at the moment depends on both ProfileSyncServiceFactory and UserEventServiceFactory. Thus, this build dependency cycle can't be resolved until we delete UserEvents completely from ConsentAuditor. Note that ProfileSyncService runtime dependency on ConsentAuditor can't be added either (it requires an include, which leads to the same build time cycle).
Comment 1 by vitaliii@chromium.org
, Jun 7 2018