我正在创建自己的gradle插件。
在我的MyRunTask中扩展了DefaultTask
我正在写这样的东西
@TaskAction
public void run() {
ant.java {
main = 'org.mylang.runtime.main.Main'
classpath = project.configurations.runtime
args = [
project.mylang.mainMylangClass
]
classpath jar.archivePath
}
}
run与Jar任务相关联,因此我可以在运行程序时直接使用jar。出于这个原因,我喜欢将Jar舔到我的ant.java
classpath jar.archivePath
时,jar
的说法未初始化。答案 0 :(得分:0)
我建议使用Gradle的project.javaexec
代替Ant的project.ant.java
。您的任务类应该接受来自外部(通过插件或构建脚本)使用project.jar.archivePath
配置的classpath
类型的属性Iterable<File>
,而不是硬编码jar.archivePath
。 。如果您的任务类所做的只是执行project.javaexec
,请考虑使用由插件或构建脚本配置的常规JavaExec
任务。