Gradle проект против зависимости модуля?
Я знаком с compile project(':A')
синтаксис, где один подмодуль многомодульного проекта объявляет зависимость компиляции от другого подмодуля. Недавно наткнулся compile module(':A')
(извините, нет ссылки). Чем второй отличается от первого?
1 ответ
Прямо из документов:
23.4.2. Зависимости клиентского модуля
Зависимости клиентского модуля позволяют объявлять транзитивные зависимости непосредственно в скрипте сборки. Они заменяют дескриптор модуля во внешнем репозитории.
Пример 23.8. Зависимости клиентского модуля - транзитивные зависимости
build.gradle
dependencies {
runtime module("org.codehaus.groovy:groovy:2.4.4") {
dependency("commons-cli:commons-cli:1.0") {
transitive = false
}
module(group: 'org.apache.ant', name: 'ant', version: '1.9.6') {
dependencies "org.apache.ant:ant-launcher:1.9.6@jar",
"org.apache.ant:ant-junit:1.9.6"
}
}
}
См. Документацию здесь: https://docs.gradle.org/current/userguide/userguide_single.html