1

buildr には、「ターゲット」、「レポート」などのディレクトリ用に、カピストラーノなどの事前定義された変数がありますか? そうでない場合、これらのディレクトリの場所をハードコーディングするのではなく、これらのパスを特定/決定するにはどうすればよいでしょうか?

最終的な目標は、オンザフライでファイルを作成し、それをターゲット ディレクトリに挿入するタスクを作成することです。

4

3 に答える 3

3

Buildrは、特別なディレクトリのシンボリック名を定義します。(path_toaka _)メソッドは、これらのシンボリック名を受け入れ、それらを現在のレイアウトのパスに自動的に変換します。例えば、

define 'foo' do
  puts _(:target, :main, :classes)    # => /some/root/foo/target/classes
  puts path_to(:source, :main, :java) # => /some/root/foo/src/main/java
end

Antoineが別の回答への返信で指摘したように、ドキュメントにはこれらの記号名のリストがあります。

于 2011-07-12T20:42:48.150 に答える
2

新しいレイアウトを定義して、プロジェクトで使用できます。

ここのビルドファイルの例:

my_layout = Layout.new
my_layout[:source, :main, :java] = 'java'
my_layout[:source, :main, :resources] = 'resources'
define 'foo', :layout=>my_layout do
    ...
end


Builder のチュートリアルへのリンクを更新http://buildr.apache.org/extending.html#layouts

于 2011-07-12T16:48:20.543 に答える
0

UR6LAD が言うように、buildr はそのすべてのパスを のプロジェクトごとのインスタンスに格納しますLayout。このページでは、デフォルトのレイアウトについて説明します。ターゲット ディレクトリには、 を使用してアクセスできますlayout[:target]

于 2011-07-12T18:23:03.713 に答える