Улучшение процесса выпуска Buildr

Я хотел бы связать пользовательскую задачу с циклом выпуска buildr по умолчанию. Я хотел бы запустить этот код после того, как проект будет скомпилирован, упакован, помечен и развернут, но до того, как он увеличит номер версии и зафиксирует это.

Как бы я привязался к этой части цикла выпуска?


person Drew    schedule 18.07.2011    source источник


Ответы (1)


К сожалению, задача release не состоит из подзадач, которые вы потенциально могли бы подключить и расширить с помощью собственных задач.

Чтобы процитировать текущую реализацию,

# Make a release.
def make
  @this_version = extract_version
  check
  with_release_candidate_version do |release_candidate_buildfile|
    args = '-S', 'buildr', "_#{Buildr::VERSION}_", '--buildfile', release_candidate_buildfile
    args << '--environment' << Buildr.environment unless Buildr.environment.to_s.empty?
    args << 'clean' << 'upload' << 'DEBUG=no'
    ruby *args
  end
  tag_release resolve_tag
  update_version_to_next if this_version != resolve_next_version(this_version)
end

Как видите, Buildr разветвляет отдельный процесс и, по сути, запускает buildr clean upload Одной из возможностей было бы enhance задание upload и добавление ваших задач в качестве зависимостей, например,

task :my_custom_task do
  # do stuff
end

task :upload => [ :my_custom_task ]

Если это не соответствует вашим потребностям, я рекомендую открыть запрос на улучшение по адресу https://issues.apache.org/jira/browse/BUILDR.

person Alex Boisvert    schedule 24.07.2011
comment
Когда я расширяю задачу :upload, я получаю ошибку сегментации. :\ Любые подсказки? - person Drew; 25.07.2011
comment
Обнаружил, что использую несовместимую версию Ruby. Игнорировать предыдущий комментарий. - person Drew; 08.08.2011