3

我想将自定义任务绑定到默认的构建器发布周期。我想在项目编译、打包、标记和部署之后但在它增加版本号并提交之前运行此代码。

我将如何与发布周期的这一部分联系起来?

4

1 回答 1

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打开增强请求。

于 2011-07-24T21:38:03.697 回答