2015-04-06 74 views
0

如何将下面的代码片段移动到我的自定义gradle插件?gradle.projects自定义插件中评估

gradle.projectsEvaluated { 
    assemble.dependsOn(myCustomPluginTask) 
} 

我试图在自定义插件的gradle以下,但得到了“没有这样的属性:聚集在一起上课:CustomGradlePlugin”。

void apply(Project project) { 
    project.apply(plugin: 'java') 

    project.gradle.projectsEvaluated { 
     assemble.dependsOn(myCustomPluginTask) 
    } 

    ... 
} 
+0

你问究竟是什么?在自定义插件中,您将通过'apply'方法获得'Project'类的实例。这是它可以完成的地方。 – Opal

+0

我想在汇编任务之前运行myCustomPluginTask。我不知道如何将该逻辑放入定制gradle插件中。现在,我在项目build.gradle中使用上面的代码片断。 –

回答

1

是否有一个理由,为什么你需要projectsEvaluated办呢?

Gradle Life Cycle开始时会有点混乱。我建议您在尝试使用自己的插件之前仔细阅读并理解它。

你或许可以忽略projectsEvaluated部分(因为你在一个插件,而不是你的build.gradle),只是这样做:

void apply(Project project) { 
    project.apply(plugin: 'java') 

    project.task('myCustomPluginTask') { 
     print "This is called in the Configuration Phase" 
     doLast { 
      print "This is called during the Execution phase" 
     } 
    } 

    project.tasks.assemble.dependsOn project.tasks.myCustomPluginTask 

} 
相关问题