I have 4 projects (A, B, C and D) with a “diamond” dependency graph:
D depends on B and C
C depends on A
B depends on A
These four projects are in separate repositories at the moment and I would like to define D as a composite build so that if I have all of them cloned locally, I no longer need binary dependency to build D.
The issue I am running into is that Gradle complians:
Module version ‘group:A:0.0.2-SNAPSHOT’ is not unique in composite: can be provided by [project : C : A, project : B : A]
I think it is complianing the A referenced by B is different from the A referenced by C, although B and C do depend on the same version of A.
Am I missing anything in my setup?