gradle多项目:生成目录出现在包含Kotlin人工制品的根目录中
我们的多项目构建具有以下结构:gradle多项目:生成目录出现在包含Kotlin人工制品的根目录中,gradle,kotlin,Gradle,Kotlin,我们的多项目构建具有以下结构: 根项目 \-项目1 \-项目2 \-格雷德尔先生 \-设置。渐变 当我从根项目目录运行一个gradle build时,project1(不是Kotlin项目)中的构建工件会像预期的那样保留在project1/build目录下。但是,根目录下会显示一个生成目录,其中仅包含build/kotlin和build/kotlin build目录 即使我从根项目/project2运行gradlebuild,我也会看到相同的行为 我遗漏了什么,以便强制将所有kotlin建筑人工
根项目
\-项目1
\-项目2
\-格雷德尔先生
\-设置。渐变
当我从根项目目录运行一个gradle build
时,project1(不是Kotlin项目)中的构建工件会像预期的那样保留在project1/build目录下。但是,根目录下会显示一个生成目录,其中仅包含build/kotlin
和build/kotlin build
目录
即使我从根项目/project2
运行gradlebuild
,我也会看到相同的行为
我遗漏了什么,以便强制将所有kotlin建筑人工制品置于:
root目录/project2/build
我的根目录/build.gradle中有以下内容,这些内容可能会对行为有所帮助:
task root-project(dependsOn: ':project1:build') {
doLast {
copy {
from project(':project1:').file('dist')
into project(':project2:').file('build/resources/main/static/')
}
}
}
project(':project1') {
task UI(dependsOn: ':project1:runAll') {
doLast {
println 'UI'
}
}
}
project(':project2') {
task API(dependsOn: ':project2:bootRun') {
doLast {
println 'API'
}
}
}
任务根项目(依赖项:':project1:build'){
多拉斯特{
抄袭{
来自项目(':project1:')。文件('dist')
文件('build/resources/main/static/'))
}
}
}
项目(“:project1”){
任务UI(依赖项:':project1:runAll'){
多拉斯特{
打印“用户界面”
}
}
}
项目(“:项目2”){
任务API(依赖项:':project2:bootRun'){
多拉斯特{
打印“API”
}
}
}
结果工件实际上被放置在子项目目录下,正如您所期望的那样
根项目中的build/kotlin
和build/kotlin build
目录包含kotlin Gradle插件跨构建存储和使用的一些内部状态(例如多模块增量编译缓存)。它被放在根项目目录下,因为它也在子项目之间共享
换句话说,这不需要担心。就我而言,不必要的杂乱总是需要担心的。它需要添加到。忽略文件,因为Gradle没有为根项目创建生成目录。制作.7z
文件之前要删除的更多内容。当我想转储缓存和临时文件夹时,也可以在清理列表中再添加一个文件夹。这是需要处理的,因为gradleproject2:clean
不会清理根项目build/
目录。基本上,我觉得它不整洁。