ビルド後に変更されたプロジェクト内のモジュールの出力されたjarファイルのみを取得し、サーバーにコピーできるようにするbashスクリプトを作成します。私は完全なクリーンビルドを行う場合と同様に、毎回すべての単一モジュールjarをコピーする必要はありません。これはgitを使ったgradleプロジェクトです。私はgradleが、コードが更新されたモジュールのみに基づいてインクリメンタルビルドを行うことができることを知っていますが、このプラグイン(プラグインの場合)を呼び出すことができる方法はありますか?私はオンラインで検索していますが、情報を見つけることはできません。どのモジュールが変更されたのかは、どのようにグラデルビルドが知っていますか?
0
A
答えて
1
Gradleは、タスクに関連付けられたinputs
とという概念を持っています。 Gradleは、タスクが最初に実行されたときとその後の各実行時に、入力と出力のスナップショットを取得します。これらのスナップショットには、各ファイルの内容のハッシュが含まれています。これにより、入力および/または出力が変更された場合、後で実行するときにgradleがチェックし、タスクを再度実行する必要があるかどうかを判断できます。
この機能は、自分で作成したカスタムのグラデーションタスクでも使用でき、探している動作を実装できる方法の1つです。必要に応じて、bashスクリプトから対応するタスクを呼び出すことができます。詳細はこちらをご覧ください: Gradle User Guide, Chapter 14
そうでなければ、あなたのbashスクリプトは問題のファイルの変更されたタイムスタンプを比較したり、ハッシュ自体を比較して比較する必要があるかもしれないと思います。
関連する問題
- 1. 値が署名されているかどうかをGDBはどのように知っていますか?
- 2. 何かがjQueryで操作されたかどうかをどのように知っていますか?
- 3. ASP.NETエンジンは、どのボタンがクライアント側でクリックされたかをどのように知っていますか?
- 4. ローカルリポジトリに変更があったとき、gitはどのように知っていますか?
- 5. Soundオブジェクトが再生されているかどうかをどのように知っていますか?
- 6. スケーラが更新されたとき、Laravelはどのように知っていますか?
- 7. Android StudioイメージがFirebaseから更新されたかどうかはどのように知りますか?
- 8. どのように知っていますか?UITextFieldとUITextViewで変更や変更が行われたかどうかここ
- 9. Djangoテンプレートは、どのテンプレートが呼び出されるかをどのように知っていますか
- 10. Visual Studioでは、インクルードファイルが変更されたときにどのcppファイルを再構築するかをどのように知っていますか?
- 11. JavaプログラムがEclipseの `debug`によって起動されたかどうかを` run`ではなくどのように知っていますか?
- 12. どのような変更がユーザーに通知されるのですか?
- 13. コントローラアクションがDNSまたはIPによって要求されたかどうかをどのようにして知ることができますか?
- 14. 配列のプロパティが変更されたときにどのように通知されますか?
- 15. URLの画像が変更されたかどうかはどのようにわかりますか?
- 16. テーブル内の値が編集によって変更されたかどうかを知るためのログまたは関数はありますか?
- 17. QFileSystemWatcherは、ファイルが変更されているかどうかをどのように判断しますか?
- 18. FacebookのJavascript APIのコールバックに何が渡されたのか、どうやって知っていますか?
- 19. gccはソースがどこから来たのかをどのように知っていますか?
- 20. データが変更されたとき、Muleキャッシング戦略はどのようにして知りますか?
- 21. どのような宝石が正しいものなのか、どうやって知っていますか?
- 22. オリエンテーションが変更されたときのレイアウトの変更はどのように処理されますか?
- 23. Linuxはプロセスによってどれだけの物理メモリが使用されているかをどのように知っていますか?
- 24. オブジェクトが既に参照されているかどうかはどのように知りますか?
- 25. EF4は、プロパティが実際に変更されたかどうかをどのように判断しますか?
- 26. どのHTMLElementプロパティの変更によってDOMAttrModifiedが生成されますか?
- 27. 現在のビルドが安定しているかどうかをどのように知っていますか?
- 28. Androidでどのボタンがクリックされたか知っている
- 29. サブアプリケーションがiosにインストールされたとき、メインアプリはどのように知っていますか?
- 30. エバーサービス変数が変更された場合、コンポーネントオブザーバはどのように変更されますか
Gradleは内部キャッシュ(バイナリ形式、 '.gradle'フォルダに格納されています)を使用します。成果物をコピーするためにbashを使用することは問題があるかもしれませんが、カスタムグラデルタスクをいつでも実装できます。 – Opal