在构建器发布过程中更新pom.xml版本

时间:2013-03-13 16:01:40

标签: ruby jruby buildr

我有一个buildr项目,它还包含一个用于其他项目的pom.xml。 我希望能够在增加构建文件VERSION_NUMBER =“13.3.1-SNAPSHOT”的同时增加pom.xml中的13.3.1-SNAPSHOT。

我的构建文件中的VERSION_NUMBER

# Auto-incremented by "release" task.
VERSION_NUMBER = "13.3.1-SNAPSHOT"

我的Jenkins作业执行的命令来运行此版本:

buildr clean release NEXT_VERSION=$nextVersion --trace

查看构建器站点后:http://buildr.apache.org/releasing.html 似乎我可能需要做类似

的事情
Release.next_version = lambda do |next_version| # 13.3.1-SNAPSHOT
    new_version = @NEXT_VERSION@.split(/\./)
    new_version[0] = new_version[0] + 1
    new_version

    ### Run task to update pom.xml <version>
    ### Run task commit pom.xml ???
end

任何人都可以帮助我吗? 如何在同一版本中编辑pom?

2 个答案:

答案 0 :(得分:0)

您可以编辑pom文件以在发布任务或Release.next_version调用期间增加版本。

# code is untested, should just provide an idea
def replace_version(content)
    content.gsub(...)
end
File.open("pom.xml", "r+") { |f| f.write(replace_version(f.read)) }

答案 1 :(得分:0)

Release.next_version仅用于在执行buildr release时确定下一个版本号。

lib/buildr/core/build.rb中途查看Buildr::Release课程。您应该扩展方法update_version_to_next。查看发布类的各种扩展(在它下面),了解如何进行扩展。