我有一个来自我正在使用的插件的任务,我只想在编译调试buildType时覆盖它。
我尝试在调试范围内覆盖:
buildTypes {
debug {
task newRelicInstrumentTask(overwrite: true) << {}
task newRelicDeinstrumentTask(overwrite: true) << {}
}
}
但它也为发行版buildType重写了它。
我也尝试过以下操作:
buildTypes.all{ theBuildType ->
print(theBuildType.name)
if (theBuildType.name == "debug")
{
task newRelicInstrumentTask(overwrite: true) << {}
task newRelicDeinstrumentTask(overwrite: true) << {}
}
}
但是当我执行assembleRelease时它也会覆盖它。
那么我怎样才能在我运行assembleDebug时覆盖它?
答案 0 :(得分:1)
类似的东西:
gradle.taskGraph.whenReady { TaskExecutionGraph teg ->
if (teg.hasTask('assembleDebug')) {
tasks.getByPath('newRelicInstrumentTask').enabled = false
tasks.getByPath('newRelicDeinstrumentTask').enabled = false
}
}
答案 1 :(得分:0)
这最终效果最好:
if ((gradle.startParameter.taskNames.size() == 1) && (gradle.startParameter.taskNames.get(0).contains(
"assembleDebug"))) {
task newRelicInstrumentTask(overwrite: true) << {
}
task newRelicDeinstrumentTask(overwrite: true) << {
}
}