我有一个python脚本,可以根据另一个文件修改java类的一部分(添加静态字段)。
在Gradle构建过程中添加它的最佳方法是什么(我的脚本需要pyton3(因此最好告诉用户是否没有),并且需要在Java编译之前执行)?
最佳答案
我不确定从gradle运行python的最佳方法是什么,但是一种选择是使用exec任务:
task runPython(type:Exec) {
workingDir 'path_to_script'
commandLine /*'cmd', '/c'*/ 'python', 'my_script.py'
}
您可能必须在Windows上添加
cmd
和/c
。您还可以在stdout上解析/声明成功条件。看到这里more about Exec。为了确保此任务始终在compileJava之前运行,您必须将此任务添加为compileJava任务的
dependsOn
:compileJava.dependsOn runPython
备用语法:
compileJava{
dependsOn runPython
}
当compileJava依赖于runPython时,会在每次调用compileJava时首先执行runPython。