我在my.gradle
文件中添加了第二个gradle文件build.gradle
。
my.gradle
的内容是:
申请插件:MyPlugin
class MyPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
project.tasks.create(name: "myTask", type: MyTaskClass) {
}
}
}
在build.gradle
我设置在顶部:
apply from: 'myPlugin.gradle'
现在我想在build.gradle
中设置一个任务依赖项:
tasks.myPlugin.myTask.dependsOn += someOtherTask
当我构建时,我收到以下错误:
> Could not find property 'myPlugin' on task set.
如何从myTask
中的myPlugin
访问build.gradle
?
编辑:我试图确保someTask在myTask之后运行。我试着这样做:
taskX.finalizedBy taskY
就我而言:
tasks.myPlugin.myTask.finalizedBy someOtherTask
但前者不起作用。
答案 0 :(得分:3)
以下脚本将完成这项工作:
<强> my.gradle 强>:
apply plugin: MyPlugin
class MyPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
project.tasks.create(name: "myTask", type: Copy) {
}
}
}
<强>的build.gradle 强>:
apply from: 'my.gradle'
task someOtherTask << {
println 'doLast'
}
project.tasks.myTask.dependsOn(someOtherTask)
答案 1 :(得分:-2)
如果您正确包含插件,则应该会看到您的任务。例如,如果您包含java插件并运行
gradle tasks --all
你应该看到包含compileJava。对您而言,运行gradle tasks --all
。您应该能够将其作为tasks.myTask或任务引用[&#39; myTask&#39;]