要摆脱buildDir弃用,你可以使用buildDir的替代方案buildDirs。buildDirs是一个集合,可以包含多个构建目录。
以下是一个示例解决方法:
plugins {
    id 'java'
}
// 定义构建目录
ext {
    buildDirs = [
        'build',
        'out'
    ]
}
// 配置构建目录
buildDirs.each { dir ->
    tasks.matching { it.buildDir.name == dir }.each { task ->
        task.buildDir = file("${rootProject.buildDir}/${task.name}")
    }
}
在上面的示例中,我们首先定义了一个buildDirs的集合,其中包含了多个构建目录。然后,我们使用each循环遍历每个构建目录,并使用each循环遍历与构建目录匹配的任务。在每个任务中,我们将buildDir属性重新赋值为"${rootProject.buildDir}/${task.name}",以设置新的构建目录路径。
这样,你就可以摆脱buildDir弃用,并使用buildDirs来定义多个构建目录。