К сожалению, задача 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.