2016-09-16 124 views
0

Gradleには、fromintoduplicatesStrategyと指定できるコピータスクがあります。しかし、duplicatesStrategyoverrideignoreまたはfailなどの限られた選択肢を持つ唯一の列挙です。代わりに、ちょうど私が入力パラメータとして二つのファイル(既存および新規1)を取り、「コンテンツのマージ機能」を呼び出し、結果のファイルを出力できるようにしたいと思いオーバーライドのGradle:コピー中に重複ファイルのマージ戦略を指定する

from("fromdir") { 
    into 'targetdir' 
    duplicatesStrategy = { newFile,existingFile -> 
      return mergeFiles(newFile,existingFiles) 
     } 
} 

いずれにしても可能ですか?

コンテキスト:タスクが一つに複数のプロジェクトからDOC帳xmlファイルをコピーする必要があります。一つのプロジェクトは、他のプロジェクトのドキュメントの一部を上書きするので、正確に結果のドキュメントをマージするいくつかの「論理」が存在しなければならないことができます。

答えて

0

私は別のタスクの反復に続いて

duplicatesStrategy 'exclude' 

を使用して、それを解決し、違いを確認し、そこにそれらのマージを処理します。好ましくは自タスクの実装では、サードパーティのマージツールを使用して。私の検索は、既存のマージ作業を見つかりませんでした。

関連する問題