现在我有一个版本。properties文件和ant可以在发布(java应用程序)时自动更新其内容。该版本文件的内容如下:
buildDate=01-03-2012 165937
buildNum=1
buildMinor=0
buildMajor=0
现在,我想将发布历史记录保存到一个文件中(可能是一个新文件,上面写着history.properties),以防我想知道哪个版本是在什么时候发布的。
为了做到这一点,我必须让ant自动为我做以下事情:
- 从版本.properties文件中读取现有信息,并将它们连接到一个字符串中,例如这样的字符串:0.0.1 01-03-2012 165937
- 将新字符串插入或追加到历史记录.properties文件中
有人能告诉我蚂蚁能不能做1和2以上的事吗?如果是,如何?
或者与我分享您更好的解决方案。
谢谢,
使用此目标在每次构建结束时存储版本日志:
<target name="save_version_history">
<property file="version.properties" />
<echo file="history.log" append="true" >${buildMajor}.${buildMinor}.${buildNum} ${buildDate}
</echo>
</target>
我现在找到了一个解决方案。我将history.properties的格式更改为
version=date
例如:
0.0.1=01-03-2012 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>
因为每次的入口键都不同,所以ant会将附加到history.properties文件的末尾。
对于替代解决方案,为什么不尝试JReleaseInfo ANT任务?
它通过生成一个包含指定发布信息的Java类文件来工作。这个类可以在运行时被代码的其他部分查询。甚至还有一个支持图形运行时查看器的选项。