文件依赖Gradle

时间:2016-04-08 10:02:49

标签: java gradle dependencies

我是转换为Gradle的gmake用户。我有一个多项目结构,其中一个子项目是Java项目,另一个是自制语言。自制语言不使用任何Gradle插件。现在我想添加一个运行Java程序的任务,以便在修改任何自制的源文件时生成XML。在make中,我只是声明对目标名称旁边的inputFile.mine或* .mine的依赖,但是我无法轻易找到如何使用Gradle执行此基本操作。目前,我强制任务始终使用下面可能难看的解决方法执行。我想用一些dependsOn * .mine替换它。 Gradle用户指南有一整章专门解释指定文件的不同方法,但我没有看到如何声明依赖项。

task generateXML(type: Exec) {
generateXML.getOutputs().upToDateWhen({false}) // Force it to execute always
executable("java.exe")
args("-jar", "resources/generateXml.jar", "src/inputFile.mine") 
}

感谢您帮助新手。

1 个答案:

答案 0 :(得分:0)

您可以在Gradle中定义任务输入和输出。

例如:

task generateXML(type: Exec) {
  inputs.file ("src/inputFile.mine")
  executable("java.exe")
  args("-jar", "resources/generateXml.jar", "src/inputFile.mine")
}

有关详细信息,请参阅https://docs.gradle.org/current/userguide/more_about_tasks.htmlhttps://docs.gradle.org/current/javadoc/org/gradle/api/tasks/TaskInputs.html

附注:当您使用-i运行构建时,Gradle会告诉您在最新检查期间发生了什么。