当前svn修订版本号更新版本在appengine-web.xml中

问题描述:

我们试图根据svn修订版本号自动更新appengine版本号。当前svn修订版本号更新版本在appengine-web.xml中

这是AppEngine上-web.xml文件:

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> 
    <application>XYZ</application> 
    <version>5646</version> 
     .... 

我们如何与当前SVN版本号自动在每天更换5646?

理想情况下,它是一个命令行,与'svnversion'有关(输出看起来像10358:10359)。

我不得不一次又一次地写:

如果你可以使用Windows的命令行的程序,挥霍使用SubWCRev在TortoiseSVN:

  • 写,并加入到回购模板文件AppEngine上的Web .xml,版本字符串替换为SubWCRev-keyword($ WCREV $在你的情况下)
  • 当你想在xml文件中有真实的数据时,在你的工作副本中运行SubWCRev,得到最终文件。 Useit
+0

Mac和Linux怎么样? – 2012-01-21 17:42:29

+0

@TomFishman - 没有运气,AFAIK – 2012-01-21 19:42:41

好吧,这可能看起来像一个烦恼,但它是最简单的,如果你将你的项目转换为Maven项目。然后,您可以使用像maven-buildNumber-plugin这样的插件动态替换您的任何构建文件中的任何值(使用stardard maven-replacer-plugin)。

需要注意的是,您必须使用maven-gae-plugin来编译和部署您的应用程序。我使用Eclipse,它只是意味着不是在UI中使用Google App Engine按钮,而只是进行构建配置(即gae:deploy),然后只需在将来单击构建按钮即可。

好处是,现在你可以在你的项目附近进行任何复杂的构建步骤修改,并且通过Maven的魔力,你不需要从Maven本身下载任何额外的插件或者jar,因为它会只需为您提取并安装它们即可。这使得其他人更容易从稀疏的SVN中检查您的GAE应用程序并随时进行构建。

+0

我完全同意。如果你可以在这里放置一个示例代码会很好,因为我们不知道如何从maven更改appengine-web.xml。 – 2012-01-23 20:23:08