Подтвердить что ты не робот

Почему я должен указать как "runtime", так и "compile" для той же зависимости?

Я в зависимости от нескольких артефактов, которые мне нужны для компиляции и запуска моего приложения.

В соответствии с документами Gradle конфигурация среды выполнения расширяет конфигурацию компиляции, поэтому, уверенно добавляя зависимость с помощью runtime, подразумевается неявная зависимость compile?

По крайней мере, это было мое предположение, но это не сработало. Когда в зависимости от артефакта используется runtime, мой проект больше не компилируется. Я буквально должен:

compile 'oauth.signpost:signpost-core:1.2.1.2'
runtime 'oauth.signpost:signpost-core:1.2.1.2'

для приложения как для компиляции, так и для просмотра классов Signpost во время выполнения.

Я что-то упустил? Это просто не выглядит правильно...

4b9b3361

Ответ 1

Почти правильно. Конфигурация времени выполнения, действительно, расширяет конфигурацию компиляции (docs). Это означает, что любая зависимость, добавленная к конфигурации компиляции, доступна в конфигурации времени выполнения (docs).

compile 'oauth.signpost:signpost-core:1.2.1.2' будет достаточно, чтобы получить этот артефакт как в режиме исполнения, так и во время компиляции.