我有一个包含4个模块的Gradle Java项目,在CI / CD流程中,我使用./gradlew clean build清理并构建了该项目,该文件在所有4个模块上运行这些任务。但是我实际上需要仅在其中3个上运行它们。
因此,问题是,如何创建一个任务,该任务将仅清理并构建所需的模块?
我到了这一点:

allprojects.findAll { it.name in ['module1', 'module2', 'module3'] }. each { p ->
    configure(p) {
        println p.name
    }
}
但是我不知道该怎么走,即使我朝着正确的方向前进..

最佳答案

怎么样:

allprojects.findAll { it.name in ['module1', 'module2', 'module3'] }. each { p ->
    configure(p) {
        task customTask {
            dependsOn 'clean'
            dependsOn 'build'
            tasks.findByName('build').mustRunAfter 'clean'
        }
    }
}
您可能对GradleBuild感兴趣,而不是dependsOn。我没有正确配置它,这就是为什么我使用dependsOn的原因。
Related post

10-04 19:17