Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gradle多项目:生成目录出现在包含Kotlin人工制品的根目录中_Gradle_Kotlin - Fatal编程技术网

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/
目录。基本上,我觉得它不整洁。