2013-09-07 13 views
14

Załóżmy chciałem użyć Gradle ze strukturą projektu, takie jak:Gradle - rekurencyjne podprojekty

RootProject 
\-- SubProjectA 
    \-- SubProjectAA 
    \-- SubProjectAB 

Jak bym to osiągnąć?

To, co próbowałem, jest całkiem proste. Utworzyłem wszystkie katalogi, o strukturze opisanej powyżej:

RootProject 
\-- SubProjectA 
    \-- SubProjectAA 
     \-- build.gradle 
    \-- SubProjectAB 
     \-- build.gradle 
    \-- build.gradle 
    \-- settings.gradle 
\-- build.gradle 
\-- settings.gradle 

RootProject/settings.gradle:

include "SubProjectA" 

RootProject/SubProjectA/settings.gradle:

include "SubProjectAA", "SubProjectAB" 

Istnieje dwie rzeczy, które próbowałem. Po pierwsze, próbowałem zaimportować projekt w środowisku Eclipse - który nie wykrył SubProjectAA ani SubProjectAB. Oszołomiony, wpadłem gradle projects w RootProject i dostał ten wynik:

------------------------------------------------------------ 
Root project 
------------------------------------------------------------ 

Root project 'RootProject' 
\--- Project ':SubProjectA' 

Mimo to, myśląc, że popełnił błąd, próbowałem uruchomienie samego polecenia w SubProjectA i otrzymała:

------------------------------------------------------------ 
Root project 
------------------------------------------------------------ 

Root project 'RootProject' 
\--- Project ':SubProjectAA' 
\--- Project ':SubProjectAB' 

Zakładam, że rozwiązanie podprojekty nie rekursywnie. Czy istnieje jakieś obejście tego problemu?

Każdy przykład jest maskowany z przykładowymi nazwami, przepraszam, jeśli popełniłem jakiś błąd.

Dzięki!

Odpowiedz

15

Możesz mieć tylko jeden settings.gradle. Zazwyczaj będzie zawierać coś takiego:

include "SubProjectA:SubProjectAA" 
include "SubProjectA:SubProjectAB" 

Więcej informacji można znaleźć w „multi-projekt opiera się” rozdział Gradle User Guide.

+0

Cool. Nawet działa w Eclipse! Tnx! –