0

我有一个 Ant 构建脚本,我需要编译我的项目的一部分(它链接到我们使用的 JavaScript 库的第三方构建系统)。

我想围绕这个包装 Gradle,所以我已经导入了 Ant 构建,我可以通过 Gradle 成功调用 Ant 目标。我什至为目标添加了输入和输出检查,这样它们就不会在不需要时运行

Ant 目标具有它们所做的设置工作 - 主要是导入配置和设置。他们通过对目标的依赖来做到这一点init,这需要大约 4-5 秒才能运行。如果主任务的输入得到满足,我想做的是阻止该 init 目标运行。

有什么建议么?

示例 Ant 构建脚本 ( build.xml):

<?xml version="1.0" encoding="utf-8"?>
<project name="MyProject" default="build">
  <target name="init" />
  <target name="build" depends="init">
    <echo message="hello" file="output.txt" />
  </target>
</project>

与之配套的示例 Gradle 脚本 ( build.gradle):

ant.importBuild 'build.xml'

build {
  inputs.dir file('src')
  outputs.file file('output.txt')
}

理想情况下,当我运行时,如果是最新的gradle build,我不想运行。initbuild

有什么建议么?

4

1 回答 1

0

最新的检查build只会在init运行后发生。您可以做的是为 声明相同的输入init,如果它没有文件输出,outputs.upToDateWhen { true }. 也许这可以满足您的需求。

于 2014-07-25T21:04:24.690 回答