我想将自定义任务绑定到默认的构建器发布周期。我想在项目编译,打包,标记和部署之后但在它增加版本号并提交之前运行此代码。
我如何与发布周期的这一部分联系起来?
答案 0 :(得分:2)
不幸的是,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打开增强请求。