Как найти целевой каталог - PullRequest
1 голос
/ 12 июля 2011

Есть ли в buildr предопределенные переменные, такие как capistrano, для таких каталогов, как 'target', 'reports' и т. Д.? Если нет, а не жестко запрограммировать расположение этих каталогов, как еще мы можем найти / определить эти пути?

Конечная цель - создать задачу, которая на лету создаст файл и вставит его в целевой каталог.

Ответы [ 3 ]

3 голосов
/ 13 июля 2011

Buildr определяет символические имена для специальных каталогов.Метод path_to (он же _) принимает эти символические имена и автоматически переводит их в пути для текущего макета.Например,

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

Как отметил Антуан в ответ на другой ответ, в документации есть список этих символических имен .

2 голосов
/ 12 июля 2011

Вы можете определить новый макет и использовать его в своем проекте.

Пример файла сборки здесь:

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

0 голосов
/ 12 июля 2011

Как говорит UR6LAD, buildr сохраняет все свои пути в экземпляре для проекта Layout. На этой странице описан макет по умолчанию . Доступ к целевому каталогу можно получить с помощью layout[:target].

...