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 に答える