gradle multi-project:构建目录出现在包含Kotlin artefact的根目录中
我们的多项目构建具有以下结构:
root-project \-project1 \-project2 \-build.gradle \-settings.gradle
当我从root-project目录运行gradle build
,project1(不是Kotlin项目)中的构建gradle build
仍然保留在project1 / build目录下。 但是,构建目录显示在仅包含build/kotlin
和build/kotlin-build
目录的根目录下。
即使我从root-project/project2
运行gradle build
,我也看到了相同的行为。
我错过了什么命令迫使所有的kotlin构建文物被置于:
root-dir/project2/build
我在我的root-dir/build.gradle
有以下内容,这可能会揭示一些行为:
任务根项目(dependsOn:':project1:build'){ doLast { 复制{ 从项目(':project1:')。文件('dist') (':project2:')。file('build / resources / main / static /') } } } 项目(':project1'){ 任务UI(dependsOn:':project1:runAll'){ doLast { println'UI' } } } 项目(':project2'){ 任务API(dependsOn:':project2:bootRun'){ doLast { println'API' } } }
生成的构件实际上被放置在子项目目录下,就像您期望的那样。
根项目中的build/kotlin
和build/kotlin-build
目录包含Kotlin Gradle插件存储和使用的内部状态(如多模块增量编译缓存)。 它位于根项目目录下,因为它也在子项目中共享。
换句话说,这不是什么可担心的事情。