Ho un applicazione di test con tre sapori:Gradle: risolvere solo le dipendenze per la variante desiderata
- dev: utilizza una copia locale della biblioteca durante lo sviluppo
- qa: utilizza uno snapshot durante QA
- rc: utilizza una build preliminare per il test di rilascio del candidato.
dependencies {
devCompile project(':library')
qaCompile 'com.example:library:[email protected]'
rcCompile 'com.example:library:[email protected]'
}
corro Gradle, e si aspettano di fare la minima quantità di lavoro necessario per costruire proprio quello che voglio:
./gradlew :test-app:connectedAndroidTestDevDebug
Tuttavia, la build non riesce, perché è cercando di risolvere le dipendenze per tutti i sapori di build, non solo per quello che sto costruendo.
FAILURE: build non riuscita con un'eccezione.
* cosa è andato storto:
è verificato un problema configurazione di Project ': test-app'.
Impossibile risolvere tutte le dipendenze per la configurazione ': test-app: _qaDebugCompile'.
Impossibile trovare com.example: library1.0.0-SNAPSHOT.
Searched in the following locations: https://repo1.maven.org/maven2/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml https://repo1.maven.org/maven2/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom https://repo1.maven.org/maven2/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar http://oss.sonatype.org/content/repositories/snapshots/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml http://oss.sonatype.org/content/repositories/snapshots/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom http://oss.sonatype.org/content/repositories/snapshots/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar file:/opt/android-sdk-macosx/extras/android/m2repository/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml file:/opt/android-sdk-macosx/extras/android/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom file:/opt/android-sdk-macosx/extras/android/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar file:/opt/android-sdk-macosx/extras/google/m2repository/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml file:/opt/android-sdk-macosx/extras/google/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom file:/opt/android-sdk-macosx/extras/google/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar Required by: project-name:test-app:unspecified
L'istantanea che il sapore qa
sta cercando di risolvere non esiste ancora, e che dovrebbe andare bene, perché io non sto cercando di costruire il sapore qa
. Se la build di SNAPSHOT è presente, allora tutto funziona correttamente.
Domande:
- Perché sono tutti costruire i sapori che hanno le loro dipendenze risolto?
- Come posso realizzare un solo sapore senza incontrare questo problema?
- C'è un modo migliore per farlo che sarà più "Gradley"?