numaralı senaryodaki projeyi içerir. Senaryo: Müşteri gereksinimlerine ve lisanslamaya bağlı olarak dahil edebileceğimiz/hariç tuttuğumuz birkaç farklı isteğe bağlı bileşen içeren bir Android uygulamasına sahibiz. yapı parametrelerine dayanan ve yapı aroması oluşturma gibi tüm permütasyonları oluşturmayan belirli projeleri dahil etmek mümkün mü? Koşulsal olarak, proje kapsamında yer alan
./gradlew assembleRelease -PincludeFeatureA=true -PincludeFeatureB=false
ben bağımlılıkları böyle bir şey yapabileceğini düşündüm:
dependencies {
if(includeFeatureA){
compile project(':featureAEnabled')
} else {
compile project(':featureADisabled')
}
}
Ama bu işe görünmüyor.
Güncelleme: Geçiş yapabilme özelliklerinin sayısı göz önüne alındığında, her bir permütasyon için açık yapı varyantlarının kullanılması zahmetlidir. Örneğin
, verilen 3 durumlu-muktedir özellikler, böyle tatlar oluşturmak zorunda kalmak istemiyoruz:Feature1
Feature1-Feature2
Feature1-Feature3
Feature1-Feature2-Feature3
Feature2
Feature2-Feature3
...
-PincludeFeatureA verilmezse ne olur? – digitizedx
Sonra "if" bloğundaki kod atlandı – Ken