2
我有一個python腳本根據另一個文件修改java類的一部分(添加靜態字段)。在構建過程中添加代碼生成步驟的最佳方法?
什麼是在Gradle構建過程中添加它的最佳方式(我的腳本需要pyton3(所以最好告訴用戶他是否沒有它)並且需要在java編譯之前執行) ?
我有一個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之前運行,則必須將此任務添加爲dependsOn
爲compileJava任務:
compileJava.dependsOn runPython
替代語法:
compileJava{
dependsOn runPython
}
當compileJava dependsOn runPython ,每次調用compileJava時都會首先執行runPython。
有沒有辦法讓它成爲多平臺,並且還要添加一種用戶可以在配置中更改的變量(如CMAKE)? –
我已經在windows上使用exec命令,而不使用cmd和/ c params。不知道這隻適用於某些gradle版本,因爲文檔肯定不會反映它。還有第三方平臺獨立插件:https://plugins.gradle.org/plugin/com.github.jlouns.cpe – RaGe