2017-12-21 7 views
0

Gradle(4.2.1)用のshadowJarプラグインを使用して、いわゆるfatJarまたはuberJarをビルドしています。これは期待通りに機能しますが、ビルドが完了した後にいくつかのアクションを追加したいと考えています。具体的には、結果ファイルを実行可能ファイル(Unixという言葉ではchmod +x)にして、それを特定のディレクトリにコピーしたいと思います。私はたくさんのGoogle検索を行っており、両方のタスクが可能であることを知っています。私はshadowJarを実行してスクリプトを書くべきかどうかを知りたいのですが、必要な操作を埋め込むためにshadowJar自身を変更する必要があります。グラデーションスクリプトにカスタムコマンドを追加する

答えて

0

このような状況を判断する良い基準は、新しい機能が本当にshoadowJarの責任の一部であるかどうかを自問することです。答えが「いいえ」の場合は、言いましたように、その上で実行される別のタスクがある方がよいでしょう。これにより、他のタスクと組み合わせることで、はるかに異なるシナリオでshadowJarを再利用することができます。新しいものをshadowJarに依存するように定義すると、shadowJarタスクを個別に呼び出すことができますが、新しいタスクを呼び出すと常にshadowJarがトリガーされます。あなたの新しい仕事は次のようなものになります。

task afterShadowJar (dependesOn: 'shadowJar') { 
    // manipulate file permissions, etc. 
} 
+0

私は新しい仕事を作成するつもりです。私はこの新しい仕事をどこに置くべきですか? 'build.gradle'では? – menteith

+0

はい、プラグインがすでに適用されているモジュールの 'build.gradle'に入れるだけです。 – zaerymoghaddam

関連する問題