Pourquoi dois-je spécifier « exécution » et « compilation » pour la même dépendance?
-
11-10-2019 - |
Question
Je compte sur quelques objets que je dois à la fois compiler et exécuter mon application.
Selon les Gradle docs, la configuration d'exécution étend la configuration de la compilation, donc certainement ajouter une dépendance à l'aide runtime
implique une dépendance implicite compile
?
Au moins, ce fut mon hypothèse, mais il ne fonctionne pas. Lorsque vient en fonction de l'artefact en utilisant runtime
, mon projet ne compile pas plus. J'ai littéralement:
compile 'oauth.signpost:signpost-core:1.2.1.2'
runtime 'oauth.signpost:signpost-core:1.2.1.2'
pour l'application à la fois la compilation et voir les classes Signpost lors de l'exécution.
Am quelque chose que je manque? Ce ne semble tout simplement pas juste ...
La solution
La quasi-droite. configuration d'exécution, en effet, étend configuration de la compilation ( docs ). Cela signifie que toute dépendance ajouté à configuration compilation est disponible dans runtime configuration ( docs )
compile 'oauth.signpost:signpost-core:1.2.1.2'
sera suffisant pour obtenir cet artefact dans les deux, l'exécution et la compilation.