Scenario: abbiamo un'app Android con alcuni componenti opzionali diversi che vorremmo poter includere/escludere in base alle esigenze e alle licenze del cliente. È possibile includere progetti specifici basati su un parametro di costruzione e senza creare tutte le permutazioni come sapori di build?Include progetto in gradle build
./gradlew assembleRelease -PincludeFeatureA=true -PincludeFeatureB=false
ho pensato che avrei potuto fare qualcosa di simile in dipendenze:
dependencies {
if(includeFeatureA){
compile project(':featureAEnabled')
} else {
compile project(':featureADisabled')
}
}
Ma questo non sembra funzionare.
Aggiornamento: Considerando il numero di funzionalità commutabili, l'uso di varianti di build esplicite per ogni permutazione è complicato.
Ad esempio, dato 3 caratteristiche Toggle-in grado, io non voglio avere a costruire sapori come questo:
Feature1
Feature1-Feature2
Feature1-Feature3
Feature1-Feature2-Feature3
Feature2
Feature2-Feature3
...
Cosa succede se -PincludeFeatureA non viene fornito? – digitizedx
Quindi il codice nel blocco "if" viene saltato – Ken