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

按顺序对任务进行分级以调用其他任务

贺正祥
2023-03-14

我正在做一个需要调用其他任务的任务。

task ci(dependsOn: [
    clean,
    build,
    test
])
gradle ci
:compileJava
:processResources UP-TO-DATE
:classes
:jar
:assemble
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:clean             // cleaning after the build
:build
:ci
task ci(dependsOn: [
    clean,
    test
])
:clean UP-TO-DATE    // cleaning before the build
:compileJava
:processResources UP-TO-DATE
:classes
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:ci UP-TO-DATE

我尝试通过添加build.dependson clean来修复原始目标,但这似乎没有影响。

感谢任何帮助。

共有1个答案

轩辕鸿
2023-03-14

我似乎无意中发现了GRADLE-427中正在讨论的问题,在这个问题中gradle决定执行任务的最佳顺序。我通过遵循其中的建议解决了我的问题,该建议也记录在Gradle用户指南-第15.5节中,以建立不同任务之间的顺序。因此,我的最终配置项目标显示为:

task ci(dependsOn: ['clean', 'build', 'uploadArchives'])
build.mustRunAfter clean
uploadArchives.mustRunAfter build

现在一切都按预期运行。

 类似资料:
  • 我正在为多模块项目编写Gradle1.4构建文件。所以有根构建。gradle定义如下: 它定义了所有子模块的生成任务。子模块包含在设置中。gradle和每个模块都有其具有已定义依赖项的构建文件。 现在,在主构建文件中,我添加了一些额外的项目范围任务,如:aggregateJavadoc(将所有javadoc收集到一个文件中)或bundleJar(从所有类创建bundle jar),等等。手动调用时

  • 我有一个自定义gradle任务的问题:我想复制我的android jar库,然后将其重命名为“clean build”,这是我如何定义它的: 问题是,在gradle日志结果中,'clean'是在'build'任务之后完成的,因此库永远不会复制到目标文件夹: 我也尝试过在“depends on:[]”中更改任务的顺序,但这并没有改变任何东西...有人知道我错在哪里吗?提前致谢

  • A task is special because knowing when a task is about to exit is useful in these circumstances: Frameworks know when to render the UI. Measuring enter/leave allows knowing total script/task time. Exi

  • 问题内容: 因此,在数据库中,我存储了乐器名称(以及其他各种属性)。假设它是主键,并且是唯一键。 在PHP脚本中,我按其乐器类选择项,如下所示: 结果表: 这使我可以仅通过查询“萨克斯管”来选择整个乐器系列,例如“高音萨克斯管”,“中音萨克斯管”等。 在该特定示例中,结果按其ID排序(您可以假定其为auto_incremented)。更理想的是按字母顺序排序,是吗? 这工作正常,但作为音乐人,他们

  • 7.15. 其他任务 这里有一些简单的任务,你可以自己解决: 把模板文件存放在tmpl/目录,页面数据存放在data/目录。 增加一个处理函数(handler),将对根目录的请求重定向到/view/FrontPage。 修饰页面模板,使其成为有效的HTML文件。添加CSS规则。 实现页内链接。将[PageName]修改为<a href="/view/PageName">PageName</a>。(

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