Kịch bản: Chúng tôi có một ứng dụng Android với một vài thành phần tùy chọn khác nhau mà chúng tôi muốn có thể bao gồm/loại trừ tùy thuộc vào nhu cầu và cấp phép của khách hàng. Có thể bao gồm các dự án cụ thể dựa trên thông số xây dựng và không tạo tất cả các hoán vị làm hương vị xây dựng?Có điều kiện bao gồm dự án ở chế độ gradle
./gradlew assembleRelease -PincludeFeatureA=true -PincludeFeatureB=false
Tôi nghĩ tôi có thể làm một cái gì đó như thế này trong phụ thuộc:
dependencies {
if(includeFeatureA){
compile project(':featureAEnabled')
} else {
compile project(':featureADisabled')
}
}
Nhưng điều đó dường như không làm việc.
Cập nhật: Xem xét số lượng tính năng có thể chuyển đổi, sử dụng các biến thể xây dựng rõ ràng cho mỗi hoán vị là cồng kềnh.
Ví dụ, với 3 tính năng chuyển đổi-thể, tôi không muốn phải xây dựng hương vị như thế này:
Feature1
Feature1-Feature2
Feature1-Feature3
Feature1-Feature2-Feature3
Feature2
Feature2-Feature3
...
Điều gì sẽ xảy ra nếu -PincludeFeatureA không được đưa ra? – digitizedx
Sau đó, mã trong khối "if" bị bỏ qua – Ken