Gradle - Xây dựng nhiều dự án

Gradle có thể xử lý các dự án nhỏ nhất và lớn nhất một cách dễ dàng. Các dự án nhỏ có một tệp xây dựng duy nhất và một cây nguồn. Rất dễ hiểu và dễ hiểu một dự án đã được chia thành các mô-đun nhỏ hơn, phụ thuộc lẫn nhau. Gradle hoàn toàn hỗ trợ kịch bản xây dựng nhiều dự án này.

Cấu trúc cho Xây dựng nhiều dự án

Những công trình như vậy có đủ hình dạng và kích thước, nhưng chúng có một số đặc điểm chung -

  • A settings.gradle tập tin trong thư mục gốc hoặc thư mục chính của dự án.

  • A build.gradle tập tin trong thư mục gốc hoặc thư mục chính.

  • Thư mục con có riêng *.gradle xây dựng tệp (một số bản dựng nhiều dự án có thể bỏ qua các tập lệnh xây dựng dự án con).

Để liệt kê tất cả các dự án trong tệp xây dựng, bạn có thể sử dụng lệnh sau.

C:\> gradle -q projects

Đầu ra:

------------------------------------------------------------
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

Báo cáo hiển thị mô tả của từng dự án, nếu được chỉ định. Bạn có thể sử dụng lệnh sau để chỉ định mô tả. Dán nó vàobuild.gradle tập tin.

description = 'The shared API for the application'

Chỉ định cấu hình bản dựng chung

Trong một build.gradle trong root_project, các cấu hình chung có thể được áp dụng cho tất cả các dự án hoặc chỉ cho các dự án con.

allprojects {
   group = 'com.example.gradle'
   version = '0.1.0'
}

subprojects {
   apply plugin: 'java'
   apply plugin: 'eclipse'
}

Điều này chỉ định một điểm chung com.example.gradle nhóm và 0.1.0phiên bản cho tất cả các dự án. Cácsubprojects việc đóng áp dụng các cấu hình chung cho tất cả các dự án con, nhưng không áp dụng cho dự án gốc, như allprojects đóng cửa không.

Cấu hình cụ thể và sự phụ thuộc của dự án

Cốt lõi uiutil các tiểu dự án cũng có thể có build.gradle , nếu họ có nhu cầu cụ thể, chưa được cấu hình chung của dự án gốc áp dụng.

Ví dụ: dự án ui thường có sự phụ thuộc vào dự án cốt lõi. Vì vậy, dự án ui cầnbuild.gradle để xác định sự phụ thuộc này.

dependencies {
   compile project(':core')
   compile 'log4j:log4j:1.2.17'
}

Các phụ thuộc của dự án được chỉ định với phương pháp dự án.