2016-08-08 15 views
0

Ich habe ein Multi-Projekt Großprojekt mit der folgenden Struktur. richtigGradle Unterprojekte werden nicht mit Abhängigkeit von anderen Unterprojekt kompilieren

Project A: The top level project that all sub projects reside in. 
    SubProject B: 
    SubProject C: 
    SubProject D: 
    SubProject E: 
    SubProject Shared: Every 'SubProject' has a dependency to this project "compile project(':Shared')" 

Alles funktioniert, wenn Gradle Aufgaben von der obersten Ebene ‚Projekt A‘

jedoch ausgeführt wird, wenn ich versuche, eine individuelle Aufgabe auf einem Teilprojekt wie ‚Teilprojekt C‘ ich die folgende Fehlermeldung erhalten laufen .

AUSFALL: Figur mit einer Ausnahme fehlgeschlagen

Was schief gelaufen ist:

ist ein Problem aufgetreten Stammprojekt 'Teilprojekt C' zu bewerten.

Projekt mit Pfad ': Shared' konnte nicht im Root-Projekt 'SubProject C' gefunden werden.

Ich glaube, ich sehe das Problem hier, Gradle denkt, mein Unterprojekt ist ein Root-Projekt? Ich weiß jedoch nicht, wie ich das lösen soll.

Meine Top-Level-settings.gradle Datei sieht wie folgt aus

rootProject.name = 'Project A' 

include 'SubProject B' 
include 'SubProject C' 
include 'SubProject D' 
include 'SubProject E' 
include 'SubProject Shared' 

Diese Datei mein build.gradle ist für 'Teilprojekt C'

dependencies { 
    compile project(':Shared') 
} 

Bonus Frage ... Haben die Teilprojekte müssen eine settings.gradle-Datei mit dem 'rootProject.name' als Unterprojektnamen festgelegt?

+1

Wie führen Sie einzelne Aufgaben in Ihrem Unterprojekt aus? Der richtige Weg, es zu tun, ist Gradle: Projekt: Aufgabe –

+0

@RaviVasamsetty Im Moment verwende ich das Eclipse Gradle Plugin, um sie auszuführen. –

+0

Ich benutze buildship gradle plugin und es gibt kein Problem bei der Ausführung von Teilprojektaufgaben. Welches Plugin verwendest du? –

Antwort

1

Ich denke, das Problem ist mit Ihrer settings.gradle Datei.

Ersetzen Sie die Datei settings.gradle durch den folgenden Code.

rootProject.name = 'Project A' 

include 'SubProject B',':SubProject C',':SubProject D',':SubProject E' 
include ':SubProject Shared' 

Versuchen Sie, das Build-Skript von "SubProjectC" auszuführen. Ich hoffe, es wird funktionieren.

Und Antwort für Ihre zweite Frage.

We don't need seperate settings.gradle for each subprojects.