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ユーザーへのアドバイスはありますか?