Gradle:创建一个从android项目扩展compileDebugJavaWithJavac任务的任务

时间:2016-03-27 16:32:45

标签: android gradle android-gradle

我正在尝试在插件中创建一个扩展" compileDebugJavaWithJavac"来自Android插件的任务gradle。

这是我在自定义插件中的代码

project.task('compileAllJava', type: project.tasks.getByName('compileDebugJavaWithJavac')) << {} 

当我尝试应用此插件并执行此任务时,它会给出一个类似这样的错误。配置项目时出现问题&#39;:app&#39;。

  

org.gradle.api.tasks.compile.JavaCompile_Decorated无法强制转换为java.lang.Class`

我是否正确延长了任务?或者甚至可以从我自己的插件中扩展这个任务?

1 个答案:

答案 0 :(得分:0)

您需要检查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/