我正在尝试构建一个 gradle 插件,它有 2 个任务,类型GradleBuild
和调用其他几个任务。看起来像这样
class MyPlugin implements Plugin<Project> {
void apply(Project project) {
project.task('first', type: GradleBuild) {
startParameter = project.getGradle().startParameter.newInstance()
tasks = [
'doSmth',
'second'
]
}
project.task('second', type: GradleBuild) {
startParameter = project.getGradle().startParameter.newInstance()
tasks = [
'doSmthOther',
]
}
...
}
}
在命令行上我开始我的第一个任务
gradle first
现在,由于任务基本上是在启动一个完整的新实例,所以在任务doSmthGradleBuild
中设置的所有项目属性(例如)都无法在doSmthOther中访问。project.ext.myvalue=true
如何将在doSmth任务中设置的所有或某些项目属性转移到doSmthOther任务?