【发布时间】:2020-10-15 14:34:18
【问题描述】:
我目前在多个项目中使用 Jenkinsfiles 中的 groovy 脚本。我希望这些相同的 groovy 脚本也可以在几个不同项目的 build.gradle 文件中的 gradle 任务中执行。解决这个问题的最简单方法是什么?如何在 gradle 任务中调用 groovy 函数?最好将代码包装在 gradle 插件之类的东西中,以便在不同的项目中普遍使用?
【问题讨论】:
我目前在多个项目中使用 Jenkinsfiles 中的 groovy 脚本。我希望这些相同的 groovy 脚本也可以在几个不同项目的 build.gradle 文件中的 gradle 任务中执行。解决这个问题的最简单方法是什么?如何在 gradle 任务中调用 groovy 函数?最好将代码包装在 gradle 插件之类的东西中,以便在不同的项目中普遍使用?
【问题讨论】:
作为变体
带有 groovy 函数的文件 ccc/DDD.groovy
def greet(name){
println "hello $name"
}
分级:
def groovyShell = new GroovyShell()
def ddd = groovyShell.parse( new File("ccc/DDD.groovy") )
task test{
doLast {
ddd.greet("world")
}
}
【讨论】: