Как вы исключаете транзитивную зависимость проекта от gradle

дано

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

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

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

Ответы

Ответ 1

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

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

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