Промежуточный каталог Gradle мультипроекта, а не подпроекта

StackOverflow https://stackoverflow.com//questions/21015353

  •  21-12-2019
  •  | 
  •  

Вопрос

Gradle multiproject structure

В 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")
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top