Die transitive Abhängigkeit des optionalen Teilprojekts Gradle Multiprojekt sollte in ein vorhandenes Teilprojekt aufgelöst werden

Angenommen, das folgende Projekt. Das Master-Projekt ist ein Multi-Projekt, jedoch kann jeder Teil des größeren Projekts einzeln entwickelt oder gemischt werden in:

/master/build.gradle
/m1/build.gradle
/m2/build.gradle
/m3/build.gradle

annehmenm3 Verwendetm2 undm2 Verwendetm1 ( m1 <- m2 <- m3 )

das Vorhandensein vonm2 Optional ist ein Multiprojekt mit folgendem Layout auch sinnvoll

/master/build.gradle
/m1/build.gradle
/m3/build.gradle

aber in diesem Fallm2 würde aus dem Artefakt-Repository gezogen werden, was jedoch in Ordnung istm1 war eine transitiven Abhängigkeit vonm2 das ist gut, aber wie kann ich gradle sagen, die lokale version von zu verwenden?m1 anstelle des gebackenen Artefakts?

Ich bleibe dabei, jeder Ort, an dem ich Zugriff habe, um diese Dinge außer Kraft zu setzen, gibt mir gradle "nur"ModuleVersionSelector Level-Zugriff, wie kann ich hinzufügenDefaultProjectDependency nach dem heruntergeladenen Artefakt transitiven Abhängigkeiten?

Ich habe möglicherweise eine Alternative, wenn ich auf das vollständige Abhängigkeitsdiagramm der archivierten Artefakte zugreifen und einige Überschreibungen / Ausschlüsse vornehmen kann.

BEARBEITEN:

Das Beste, was ich mir ausgedacht habe, ist die Verwendung eines Filters mit resolutionStrategy. Ich habe ein Beispiel erstellt, indem ich das Projekt 'elastic-deps' weiterentwickelt habe

https://github.com/kgyrtkirk/elastic-deps

Antworten auf die Frage(2)

Ihre Antwort auf die Frage