在自定义插件中使用gradle.projectsEvaluated

时间:2015-04-06 17:34:29

标签: gradle gradle-plugin

如何将以下代码段移动到我的自定义gradle插件?

gradle.projectsEvaluated {
    assemble.dependsOn(myCustomPluginTask)
}

我在自定义gradle插件中尝试了以下操作,但得到了#34;没有这样的属性:为类汇编:CustomGradlePlugin"。

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

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

    ...
}

1 个答案:

答案 0 :(得分: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

}