我正在尝试在一个插件中创建一个任务,该任务将从Android插件扩展了“compileDebugJavaWithJavac”任务以用于gradle。
这是我自定义插件中包含的代码
project.task('compileAllJava', type: project.tasks.getByName('compileDebugJavaWithJavac')) << {}
当我尝试应用此插件并执行此任务时,它给我类似这样的错误`配置项目':app'时发生问题。
org.gradle.api.tasks.compile.JavaCompile_Decorated cannot be cast to java.lang.Class`
我可以正确地扩展任务吗?还是有可能从我自己的插件中扩展此任务?
最佳答案
您需要检查何时将compileDebugJavaWithJavac
添加到任务集合中。试试这个
tasks.whenTaskAdded { task ->
if (task.name.equals("compileDebugJavaWithJavac")) {
project.task('compileAllJava', type: JavaCompile, dependsOn: task) << {
// your code here
}
}
}
检查此链接以查看所有任务类型
https://docs.gradle.org/current/dsl/
关于android - Gradle:创建一个任务来扩展来自Android项目的compileDebugJavaWithJavac任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36249825/