如何使Java插件类任务依赖于我自己的任务?

时间:2012-06-19 16:50:32

标签: gradle

Gradle给了我适合的帮助。我有一个包含java插件的build.gravle,我在其中构建了一个生成属性文件并将其放入build / classes目录的任务。这一切都像冠军一样。这是我的自定义任务。

task generateBuildSignature << {
    def whoami = System.getProperty( 'user.name' );
    def hostname = InetAddress.getLocalHost().getHostName();
    def buildTag = System.env.BUILD_TAG ?: "dev"

    ant.propertyfile( file: "${buildDir}/buildsignature.properties", comment: "This file is automatically generated - DO NOT EDIT!" ) {
        entry( key: "version", value: "${project.version}" )
        entry( key: "buildTimestamp", value: "${new Date().format('yyyy-MM-dd HH:mm:ss z')}" )
        entry( key: "buildUser", value: "$whoami" )
        entry( key: "buildSystem", value: "$hostname" )
        entry( key: "buildTag", value: "$buildTag" )
    }
}

现在我希望将此任务的执行集成到Java构建生命周期中,最好是在processResources之后立即执行,或者作为类的依赖项,但我在文档http://gradle.org/docs/current/userguide/java_plugin.html的第23章并且它不是但确切地说明了如何将我的任务放入通过java插件进入的任务的依赖链中。对初出茅庐的用户有何建议?

1 个答案:

答案 0 :(得分:1)

您必须(并且可以)做的就是添加任务依赖项。例如:

classes.dependsOn(generateBuildSignature)