Промежуточный каталог Gradle мультипроекта, а не подпроекта
-
21-12-2019 - |
Вопрос
В RootProject у меня есть build.gradle и settings.gradle.common,subProj1 и subProj2 являются подпроектами в settings.gradle
промежуточныйDir НЕ ЯВЛЯЕТСЯ подпроект!Он используется только для группировки подпроектов1 и подпроектов2, поскольку они связаны.
Каждый раз, когда я запускаю «gradle eclipse» в корневом каталоге, я получаю файлы .classpath и .project также в промежуточном каталоге, чего не следует делать, поскольку это не подпроект!Таким образом, в основном промежуточныйDir считается подпроектом для некоторых задач, даже если его нет в settings.gradle.Есть ли быстрый способ обойти это?
Решение
То, как ты написал settings.gradle
, промежуточный каталог является подпроект.Часто это желательно, поскольку позволяет легко настроить и выполнить дочерние проекты за один раз, даже если промежуточный проект не имеет собственных файлов или задач.
Чтобы избавиться от нежелательного поведения в промежуточном проекте, либо не применяйте это поведение (например, apply plugin: "eclipse"
) к этому проекту (вероятно, вы применяете его к allprojects
прямо сейчас) или изменить settings.gradle
чтобы не создавать промежуточный проект.Например:
include "common"
// name it any way you like, but not
// "intermediateDir:subProj1", i.e. no ":"
include "subProj1"
include "subProj2"
project(":subProj1").projectDir = file("intermediateDir/subProj1")
project(":subProj2").projectDir = file("intermediateDir/subProj2")