如何为所有gradle项目(不仅仅是子项目)共享构建代码脚本

时间:2017-08-24 08:40:31

标签: gradle

我想要这段代码

test {
    testLogging.showStandardStreams = true
}

共享所有我的gradle项目。那可能吗?我添加到~/.gradle/common.gradle或类似的东西。

1 个答案:

答案 0 :(得分:2)

将构建逻辑注入现有构建脚本而不触及它们的最佳方法可能是使用init脚本。因此,您可以创建类似testlogging.gradle的脚本,如下所示:

allprojects {
    tasks.withType(Test) {
        testLogging.showStandardStreams = true
    }
}

正如您所看到的,我在这里使用tasks.withType(Test)代替test来按类型引用测试任务。这有一些好处:

  • 此脚本也适用于没有名称为test的任务的构建。这可能发生(例如在多项目构建中)
  • 此脚本还适用于构建中Test类型的任何其他任务。有些项目使用integTest等。

要在您的计算机上自动应用此脚本,您可以将其放在文件夹~/.gradle/init.d中。 Gradle将每个.gradle文件视为init脚本并将其应用于每个构建。

要了解有关init脚本的更多详细信息,请查看gradle userguide

中的相应章节