gpt4 book ai didi

gradle - 如何从 Gradle 测试调用 Gradle 子项目的任务?

转载 作者:行者123 更新时间:2023-12-03 04:48:20 30 4
gpt4 key购买 nike

我有一个项目,其中包含一个子项目,如下所示:

Root Project
|----gradle.build
|----SubProject
|----|----gradle.build

这里的子项目包含一个复制脚本,当调用根项目的测试命令时我需要调用该脚本。

所以我尝试在根项目中调用子项目的任务,如下所示:

Task myTest(type: Test) {
Project(‘:SubProject’).tasks.myCopyTask.execut()
}

但是,这会导致错误,“无法获取任务集的未知属性‘myCopyTask’。”

您知道应该如何进行此调用以及正确的语法应该是什么吗?

最佳答案

在您的示例中,有很多事情不起作用:

  1. 您不应该永远对任务调用execute! 绝不!任务由 Gradles 任务系统自动调用,调用 execute 可能会破坏该系统。
  2. 创建任务时使用的闭包 ({ }) 用于配置。它不是在任务执行时执行,而是在创建时执行。
  3. Gradle 中的子项目是在创建并评估根项目之后创建并评估的。因此,当评估根项目时,子项目中的任务甚至不存在。

您可以通过使用具有绝对任务路径的 dependsOn 方法来解决所有这些问题:

task myTest (type: Test) {
dependsOn ':Subproject:myCopyTask'
}

关于gradle - 如何从 Gradle 测试调用 Gradle 子项目的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46840500/

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