当前位置: 首页 > 知识库问答 >
问题:

了解分级任务相关性(dependsOn)

卫宏硕
2023-03-14

两个问题:

    null

更多背景:

现在,我有一个没有插件的构建脚本(换句话说,不是Java)。我需要一个名为tests的任务,它将运行我的所有测试任务。我有3个这样的任务。将它们称为task1、task2和Task3。

我可以说tests.dependson['task1','task2','task3']

task tests << {
    task1.execute()
    task2.execute()
    task3.execute()
}

最后一个小问题(顺便说一下,我真的很喜欢gradle)是很难搜索这个主题,因为依赖在gradle中意味着两种不同的东西:依赖子样式依赖和库样式依赖。

共有1个答案

白浩气
2023-03-14

Gradle的任务模型是“扁平的”,没有聚合的概念。(需要注意的是,taskinternal#execute是一个内部方法,不能从构建脚本中调用。)聚合经常使用生命周期任务(具有任务依赖关系但没有任何任务操作的任务)来模拟:

task allTests {
    dependsOn tasks.withType(Test)
}

除了dependson外,还支持以下任务关系:mustrunaftershouldrunafterfinalizedby

 类似资料:
  • 将gradle及其spring-boot插件(1.5.1)和第一个spirit插件一起使用会引发一个错误: b)如何从“启动重新打包”中删除“fsm”的依赖项? c)是否可以显示一个分级任务依赖关系图?(不是项目依赖关系)

  • 我在以可管理的方式组织构建时遇到了问题。在我的gradle构建中有大量的任务,因为对于每个特定的工作元素,gradle都需要一个这种类型的任务。例如:复制一个文件分级需要复制任务类型,压缩一个文件分级需要压缩任务类型,删除几个文件分级需要删除任务类型。Javadoc、Jar、Ear等也需要它们的任务类型。最终,build有大量的任务,要以特定的顺序运行所有这些任务,我必须使用 将这些规则应用于所有

  • 这是我的扑动医生总结 flutter doctor doctor摘要(要查看所有详细信息,请运行flutter Doctor-v):[√]flutter(通道稳定,1.22.3,Microsoft Windows[版本10.0.19041.572],区域设置en-KE)[√]Android toolchain-为Android设备开发(Android SDK版本30.0.2)[!]Android

  • 我正在编写一个自定义的gradle插件,它生成代码并注入一些新的gradle任务。我当前的问题是,在上,或任务失败。 在您说but hey之前,R文件不是生成的:它是生成的。我在文件系统中看到了文件。 当我在mac上禁用并行任务时,我玩得更多了,它的编译也很好。然而,在特拉维斯身上,它还是失败了。

  • 我用facebook SDK4.20.0构建了我的android应用程序。当我构建项目时,它在运行到任务中时抛出了zipException Build.Gradle如下: zipInputStream(Android API27)的代码片段: 并且stacktrace显示异常是由以下原因引起的

  • 请注意:虽然我在这里特别提到了两个Gradle插件,但这完全是一个关于理解Gradle中任务依赖性的问题,不需要任何关于单个插件的知识(我认为)! 我有一个项目将使用两个Gradle插件: < Li > Gradle Shadow插件,它将生成一个自包含的“fat jar”(基本上是一个包含我的所有类以及我的所有可传递依赖项的类的大jar,这样我就可以运行< code>java -jar myap