如何找到Gradle任务的“类型”?

如何找到Gradle任务的“类型”?,gradle,Gradle,我有以下代码,可以正常工作: 所有项目{ tasks.whentask已添加{task-> 如果(task.name=~/generate.*Proto/){//① task.dependsOn(protolockStatus) task.finalizedBy(protolockCommit) } } } 而不是在注释为的行上假设某种任务命名约定①, 我想根据任务的类型设置条件。我原以为type instanceof会起作用,但事实并非如此。我也没有看到任何能够提供任务类型的方法。有什么方法

我有以下代码,可以正常工作:

所有项目{
tasks.whentask已添加{task->
如果(task.name=~/generate.*Proto/){//①
task.dependsOn(protolockStatus)
task.finalizedBy(protolockCommit)
}
}
}

而不是在注释为的行上假设某种任务命名约定①, 我想根据任务的类型设置条件。我原以为
type instanceof
会起作用,但事实并非如此。我也没有看到任何能够提供任务类型的方法。有什么方法可以做到这一点吗?

您可以使用任务的
类来实现这一点。例如,您可以尝试以下方法:

所有项目{
tasks.whentask已添加{task->
println“类型为”+task.class.simpleName
}
}

我想我能做到。但是为什么
实例不起作用呢?原来
任务
存在于不同的
类加载器
中。