Как я могу изменить / расширить файл rake из другого файла rake? - PullRequest
1 голос
/ 20 января 2009

Я пытаюсь найти способ изменить / расширить RakeFile из другого RakeFile, фактически не изменяя его.

Когда я запускаю задачу rake, я получаю решение из SVN, которое содержит rakefile. Я хочу:

  1. Изменить переменную в этом rakefile.
  2. Добавить новое задание в этот rakefile. который использует существующие задачи.
  3. Выполнить новое задание.

Я хочу сделать это предпочтительно без фактического изменения оригинального RakeFile на диске.

Ответы [ 2 ]

7 голосов
/ 20 января 2009

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

your_task = Rake::Task['task:name']
your_task.enhance { this_runs_before_the_task_executes }

Аналогичным образом вы можете выполнять грабли.

your_task.invoke

Полные документы здесь .

1 голос
/ 21 января 2009

Это код, который я использовал для решения конкретной проблемы, с которой я столкнулся.

Dir.chdir File.dirname(__FILE__) + '/their_app'
load 'RakeFile'

# Modify stuff from original RakeFile
COMPILE_TARGET = "release"

# Add my task
task :my_task =>[:my_pre_task, :their_task]

Я не знаю, является ли это правильным способом, и был бы признателен за комментарии / изменения, если кто-нибудь знает лучший способ.

Спасибо leethal за отправку ответа , который помог мне в пути и был очень полезен для решения другой моей проблемы.

...