Вопрос по dependencies, gradle, project – Как исключить переходную зависимость проекта в Gradle?

15

дано

dependencies {
   compile project(':subproject') {
        transitive = false
   }
}

Это не работает должным образом в Gradle 1.3. (т.е. все зависимости включены из подпроекта)

Это ошибка или есть другой синтаксис для исключения зависимостей проекта?

Я нашел Jira по этому вопросу, который еще не был рассмотрен, но, похоже, есть обходной путь: добавьте дополнительные символы вокруг проекта следующим образом: compile (project (': Подпроект»)) {transitive = false} - я использую это, и это работает для меня - не интуитивно, но эффективно Mastering_the_Object
Этот комментарий должен быть помечен ответом. Неудачный аспект этого заключается в том, что, как только вы исключите все эти проекты deps, если вам случится включить один из этого набора (потому что вам нужен только поднабор jar-файлов в этом списке), gradle не позволит вам. Так что для сумасшедших проектов есть развлечение, исключая dep by dep, чтобы сделать что-то простое Core

Ваш Ответ

1   ответ
29

Показанный синтаксис добавит новый (так называемыйдинамический)transitive собственность наProject объект, который, если не используется где-то еще, выигралне имеет никакого эффекта. Вы'Вы получите предупреждение о том, что динамические свойства устарели, что является признаком потенциальной ошибки в скрипте сборки и не удастся в Gradle 2.0.

Правильный синтаксис (как вы уже указали):

dependencies {
    compile(project(':subproject')) {
        transitive = false
    }
} 
Синтаксис исправлен, но зависимость также транзитивна для родительского проекта. Kevin Liu
No such property: transitive for class: org.gradle.api.internal.project.DefaultProject_Decorated MariuszS

Похожие вопросы