3

. . Rational Team Concert (RTC) に移行しており、その「コンポーネント」定義を活用したいと考えています。ストリームで使用されるコンポーネントは、フラットなローカル scm ワークスペースになり、その物理ルートは次のように scm にありません。

|- workspace-name
   | component1
   | component2
   <empty>

ソース コード内のファイルはコンポーネント フォルダーにのみ存在し、workspace-name単なるファイル システムの親であるため、ビルド時にコードをそこにコピーしない限り、ビルド ファイルまたはコードは空です。

フラット プロジェクト レイアウト汎用コンポーネント レイアウト、およびGradle が論理レイアウトと物理レイアウトについてどのように機能するかについての優れた入門書など、多くの良い質問と回答を見つけました。これらはまだ私の混乱に完全には対処していません。

私がやろうとしているのはこれです:

|- workspace-name
   | component1
   | component2
   | buildSrc

私はこれを持っていますbuildSrc/settings.gradle

includeFlat '../component1/compa','../component2'

すぐに、カスタム タスク ( で定義buildSrc\src\main\groovy\CustomTask.groovy) が存在しないというエラーが表示されます ( could not find property 'CustomTask' on project ':component1/compa')。

これは、projectroot ディレクトリ自体buildSrcある必要があるためだと思います( gradle docsで暗示されているように)。

|- workspace-name
   | component1
   | component2
     | buildSrc

これにより、論理的な親とbuildSrcの親の両方になるダミ​​ーコンポーネントが必要になるのではないかと思います。

私の質問は、物理的なルートがない場合、settings.gradleファイルを配置するのに「最適な」場所はどこですか? 各コンポーネントはカスタム タスクからのコードをビルドする必要があるため、そのための最適な場所も探しています (ダミー コンポーネントではない場合)。ありがとうございました!

アンディ

4

2 に答える 2

1

buildSrcビルドごとに 1 つしか存在できず、適切な場所に配置します。ただし、buildSrc独自のビルドであり、メインビルドのプロジェクトを含めることは意味がありません(明らかに試したように)。また、引数includeFlatはファイル パスではありません。ここで何を達成しようとしているのかよくわかりません。

メイン ビルドの についてはsettings.gradle、ルート ディレクトリに配置できない場合、別のオプションとして、 という名前のディレクトリに配置しますmaster。(これは組み込みの規則であり、再構成することはできません。)

于 2013-10-15T18:19:42.733 に答える