Depende de algunos artefactos que necesito para compilar y ejecutar mi aplicación.¿Por qué tengo que especificar tanto 'runtime' como 'compile' para la misma dependencia?
Según los docs Gradle, la configuración de ejecución extiende la configuración de compilación, por lo que seguramente la adición de una dependencia usando runtime
implica un compile
dependencia implícita?
Al menos esa fue mi suposición, pero no funciona. Cuando solo depende del artefacto que usa runtime
, mi proyecto ya no se compila. Yo, literalmente, tengo que:
compile 'oauth.signpost:signpost-core:1.2.1.2'
runtime 'oauth.signpost:signpost-core:1.2.1.2'
para la aplicación tanto a compilar y ver las clases del poste indicador en tiempo de ejecución.
¿Echo de menos algo? Eso simplemente no se ve bien ...
Veo - qué extraño. Solo trato de entender cómo funciona esto entonces. Mirando http://www.gradle.org/0.9.1/docs/userguide/userguide_single.html#sec:java_plugin_and_dependency_management, ¿eso significa que cualquier configuración en la figura 20.2 es una combinación de todas las configuraciones que tienen flechas de entrada a ella? ? Pensando en la "extensión" en el clásico tipo de "herencia", uno asumiría lo contrario. – Matthias
Ah, ¿es correcto suponer entonces que la configuración de 'tiempo de ejecución' de Gradle corresponde al alcance 'proporcionado' de Maven? – Matthias
En el diagrama 20.2 de la guía de usuario, cualquier configuración es una combinación de todas las rutas * de salida *, p. 'testRuntime' incluye todo desde' runtime' y 'compile', porque la flecha de salida muestra que' testRuntime' extiende 'runtime' –