私たちのビルドには、これらの「コンポーネント」ディレクトリがあります。サブプロジェクトは異なるコンポーネント セットを使用し、これらのコンポーネントの内容をビルド ディレクトリにコピーする必要があります。したがって、各サブプロジェクトが含まれるコンポーネントのリストを次のように定義していると想像してくださいproject.ext.components = ['aaa', 'bbb', 'ccc']
。components/aaa
これらは 、 などの(プロジェクト ルートからの) ディレクトリに存在します。各ディレクトリの内容components/bbb
をプロジェクトのディレクトリにコピーしたいと考えています。build
基本的に、これを UNIX に翻訳しなければならないとしたら、次のような一連のコピーを行うことになります。
cp -R components/aaa/* build/
cp -R components/bbb/* build/
cp -R components/ccc/* build/
これを行う良い方法は何ですか?
タスクをループしてクロージャーproject.ext.components
を使用することはできますcopy
が、タスクの入力/出力をどのように定義すればよいでしょうか? タスクはタイプ タスクではなく、 、その中のループ、およびクロージャーCopy
を含む通常のタスクであるため、タスクの場合のように定義された入力/出力を無料で取得することはありません。doFirst
copy
Copy
Copy DSLには、有望と思われるプロパティがあることがわかりますが、includes
それを機能させる方法を実際に理解することはできません。