gpt4 book ai didi

java - 如何为 Gradle 任务创建别名?

转载 作者:行者123 更新时间:2023-12-02 01:05:25 24 4
gpt4 key购买 nike

作为 TDD 工作流程的一部分,我希望能够检查我的 Java 代码库是否可以编译,但不能检查测试是否通过。

目前,如果我运行 gradle build ,它会运行编译任务(用于源代码和测试),然后还执行测试任务(并返回非零退出代码,因为测试失败)。

所以我发现我必须运行 gradle build -x test 来排除测试任务,并获得成功的零退出代码。

我应该在 build.gradle 中添加什么来定义新任务,例如 compile 这是 build x test 的别名?

到目前为止,我已经有了这个,但似乎 dependsOn 没有接受任何参数来自定义我想要执行的 build 任务:

task compile {
dependsOn build
}

我一直在阅读the docs here ,我看到不同类型的依赖链机制,但不是禁用/排除特定任务。那么 -x 标志是如何工作的呢?我认为也有一种方法可以通过编程来控制它。

<小时/>

感谢Bjørn Vester's answer阅读文档后,我已经实现了我的任务,如下所示:

task compile {
dependsOn classes
dependsOn testClasses
}

最佳答案

您可以单独运行许多不同的任务。例如:

  • gradle 类:将编译您的“主”代码。
  • gradle testClasses:将编译您的“主”代码以及测试代码。
  • gradle jar:将编译您的“主”代码并将其组装到 jar 中。

以上都不会运行您的单元测试。另一方面,build 任务取决于上述所有内容,以及 test 任务等等。

一般来说,如果您想运行一组特定的任务,您可以通过定义一个新任务,然后与您希望与其一起运行的其他任务建立依赖关系来实现。您已经尝试过,但您应该使用诸如 compileJavaclasses 之类的东西来代替 build ,无论您需要什么其他任务。但请务必检查是否没有一个已经可以满足您的需求,就像本例中一样。您可以在 Gradle java plugin 的文档中了解 Java 项目中可用的任务。 .

关于java - 如何为 Gradle 任务创建别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60111982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com