gradle - 如何找到 Gradle 任务的“类型”?
问题描述
我有以下代码可以正常工作:
allprojects {
tasks.whenTaskAdded { task ->
if (task.name =~ /generate.*Proto/) { // ①
task.dependsOn(protolockStatus)
task.finalizedBy(protolockCommit)
}
}
}
我不想假设用①注释的行上有一些任务命名约定,我想根据任务的类型来制定条件。我原以为type instanceof
会奏效,但它没有。我也看不到任何可以提供任务类型的方法。有没有办法做到这一点?
解决方案
您可以class
为此使用任务。例如,你可以试试这个:
allprojects {
tasks.whenTaskAdded { task ->
println "Type is " + task.class.simpleName
}
}
推荐阅读
- javascript - 允许在长度受限的字段中替换数字
- java - 如何编写标签中具有多个值(两行)的xpath
- symfony - 无法覆盖和使用 FOS 注册表单
- c - 为什么 i=i++ 的 i 值不增加;陈述?
- performance - Cortex M4 LDR/STR 时序
- adsense - 某些广告中的 Google Adsense 图片未显示在我的网站上
- r - 如何使用随机森林模型反向计算给定因变量的预测变量?
- javascript - 将 Service Worker 中的数据写入 Cloud Firestore
- python-3.x - 根据 Pandas 中的索引将一个数据帧拆分为多个
- c++ - 编译器会优化构造函数调用吗