我有一个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。

10-08 07:18