con*_*ile 7 java groovy android gradle
我my.gradle在我的build.gradle文件中包含第二个gradle 文件.
内容my.gradle是:
apply plugin:MyPlugin
class MyPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
project.tasks.create(name: "myTask", type: MyTaskClass) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
在我build.gradle的顶部:
apply from: 'myPlugin.gradle'
Run Code Online (Sandbox Code Playgroud)
现在我想用以下方法设置任务依赖build.gradle:
tasks.myPlugin.myTask.dependsOn += someOtherTask
Run Code Online (Sandbox Code Playgroud)
当我构建时,我收到以下错误:
> Could not find property 'myPlugin' on task set.
Run Code Online (Sandbox Code Playgroud)
如何访问myTask来自myPlugin于build.gradle?
编辑:我试图确保someTask在myTask之后运行.我尝试这样做:
taskX.finalizedBy taskY
Run Code Online (Sandbox Code Playgroud)
在我的情况下:
tasks.myPlugin.myTask.finalizedBy someOtherTask
Run Code Online (Sandbox Code Playgroud)
但前者不起作用.
以下脚本将完成这项工作:
我的.gradle:
apply plugin: MyPlugin
class MyPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
project.tasks.create(name: "myTask", type: Copy) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
构建.gradle:
apply from: 'my.gradle'
task someOtherTask << {
println 'doLast'
}
project.tasks.myTask.dependsOn(someOtherTask)
Run Code Online (Sandbox Code Playgroud)