0

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/的第 23 章userguide/java_plugin.html,目前尚不清楚如何将我的任务放入通过 java 插件进入的任务的依赖链中。对初出茅庐的 gradle 用户有什么建议吗?

4

1 回答 1

1

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

classes.dependsOn(generateBuildSignature)
于 2012-06-19T17:10:00.633 回答