1

buildr 是否有预定义的变量,如 capistrano,用于“target”、“reports”等目录?如果不是,除了硬编码这些目录的位置,我们还能如何定位/确定这些路径?

最终目标是创建一个任务,该任务将即时创建文件并将其插入目标目录。

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

更新
Buildr 教程的链接http://buildr.apache.org/extending.html#layouts

于 2011-07-12T16:48:20.543 回答
0

正如 UR6LAD 所说,构建器将其所有路径存储在每个项目的Layout. 本页介绍了默认布局。可以使用 访问目标目录layout[:target]

于 2011-07-12T18:23:03.713 回答