Gradle - kompilacja wielu projektów
Gradle z łatwością radzi sobie z najmniejszymi i największymi projektami. Małe projekty mają jeden plik kompilacji i drzewo źródłowe. Projekt, który został podzielony na mniejsze, współzależne moduły, jest bardzo łatwy do zrozumienia i zrozumienia. Gradle doskonale obsługuje ten scenariusz, jakim jest kompilacja wielu projektów.
Struktura do tworzenia wielu projektów
Takie kompilacje mają różne kształty i rozmiary, ale mają pewne wspólne cechy -
ZA settings.gradle plik w katalogu głównym lub głównym projektu.
ZA build.gradle plik w katalogu głównym lub głównym.
Katalogi podrzędne, które mają własne *.gradle pliki kompilacji (niektóre kompilacje z wieloma projektami mogą pomijać skrypty budowania projektów podrzędnych).
Aby wyświetlić wszystkie projekty w pliku kompilacji, możesz użyć następującego polecenia.
C:\> gradle -q projects
Wynik:
------------------------------------------------------------
Root project
------------------------------------------------------------
Root project 'projectReports'
+--- Project ':api' - The shared API for the application
\--- Project ':webapp' - The Web application implementation
To see a list of the tasks of a project, run gradle <project-path>:tasks
For example, try running gradle :api:tasks
Raport zawiera opis każdego projektu, jeśli został określony. Aby określić opis, możesz użyć następującego polecenia. Wklej go wbuild.gradle plik.
description = 'The shared API for the application'
Określanie ogólnej konfiguracji kompilacji
W build.gradle plik w root_project, ogólne konfiguracje można zastosować do wszystkich projektów lub tylko do projektów podrzędnych.
allprojects {
group = 'com.example.gradle'
version = '0.1.0'
}
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
}
To określa wspólne com.example.gradle grupa i 0.1.0wersja do wszystkich projektów. Pliksubprojects closure stosuje typowe konfiguracje dla wszystkich projektów podrzędnych, ale nie do projektu głównego, takiego jak allprojects zamknięcie robi.
Konfiguracje i zależności specyficzne dla projektu
Rdzeń ui i util podprojekty mogą mieć również własne build.gradle plik, jeśli mają określone potrzeby, które nie są już uwzględnione w ogólnej konfiguracji projektu głównego.
Na przykład projekt interfejsu użytkownika zwykle ma zależność od projektu podstawowego. Projekt interfejsu użytkownika potrzebuje więc własnegobuild.gradle plik, aby określić tę zależność.
dependencies {
compile project(':core')
compile 'log4j:log4j:1.2.17'
}
Zależności projektu są określane za pomocą metody projektu.