首页 > 解决方案 > gradle:仅当文件时间戳早于最新源代码时间戳时如何运行任务

问题描述

在 gradle build 中,我的任务是从我的应用程序结构中的另一个目录构建、捆绑和复制 JS 文件。我如何设置条件 - 仅当捆绑时间戳早于最新的 JS 源代码时间戳时才运行此任务。

标签: gradle

解决方案


您唯一需要做的就是将.js文件声明为执行捆绑的任务的输入,并将捆绑声明为输出。然后 Gradle 的增量构建将完成剩下的工作。

就像您已经指出的那样,整个文档都在用户指南的增量构建部分中。

本质上,您的任务需要如下所示:

class BundleTask extends DefaultTask {
    @InputFiles
    ConfigurableFileCollection jsSource = project.files()

    @OutputFile
    File bundleFile

    @TaskAction
    void bundle() {
        // do the actual bundling, using jsSource and writing to bundleFile
    }
}

推荐阅读