2012-01-13 42 views
0

现在我有一个version.properties文件和蚂蚁可以自动更新其内容时,我发布(Java应用程序)。该版本文件的内容是这样的:我可以使用Ant记录发布历史吗?

buildDate=01-03-2012 165937 
buildNum=1 
buildMinor=0 
buildMajor=0 

现在我想保持发布历史到一个文件中(可能是一个新的文件,说history.properties)的情况下,我想知道哪个版本发布在什么时候。

为了做到这一点,我必须作出蚂蚁自动执行以下操作对我来说:

  1. 读取现有的信息version.properties文件和他们联合成一个字符串,例如像这样的字符串:0.0.1 01-03-2012 165937;
  2. 插入或追加新字符串进入history.properties文件;

有人能告诉我蚂蚁能做到1和2以上吗?如果是的话,怎么样?

或与我分享您的更好解决方案。

谢谢,

回答

1

使用此目标存储版本登录每个构建的结尾:

 
<target name="save_version_history"> 
    <property file="version.properties" /> 
    <echo file="history.log" append="true" >${buildMajor}.${buildMinor}.${buildNum} ${buildDate} 
</echo> 
</target> 

+0

我喜欢你的方式。但我必须使用“loadproperties”,“属性”不适合我。 – 5YrsLaterDBA 2012-01-13 19:56:49

+0

你介意说明原因吗?我只是想知道loadproperties对你更好的工作方式。 – 2012-01-13 20:07:00

+0

还有一件事,当用记事本打开时,结果是在一个长行中,但在与其他编辑器打开时在不同的行中。有没有办法写入文件始终显示不同的行? – 5YrsLaterDBA 2012-01-13 20:08:50

0

我现在找到了解决方案。我改变了history.properties的格式

version=date 

例如:

0.0.1 = 2012年1月3日165937

然后,我使用下面的蚂蚁目标这样的:

<target name="history" depends="init" > 
     <loadproperties srcFile="${version.file}"/> 
     <propertyfile 
      file="${history.file}" comment="Build history info"> 
      <entry key="${buildMajor}.${buildMinor}.${buildNum}" type="string" value="${buildDate}"/> 
     </propertyfile> 
    </target> 

因为进入关键是每次都不同,所以蚂蚁意志附加到history.properties文件的末尾。

0

对于一个替代解决方案,为什么不尝试JReleaseInfo ANT task

它通过生成包含指定版本信息的Java类文件来工作。这个类可以在运行时被代码的其他部分查询。甚至有一个选项可以支持图形运行时查看器。

相关问题