好,${buildtat}
可以从蚂蚁的<tstamp>
任务作出。其他人可以通过执行svn log --xml
然后使用<xmlproperties>
任务产生的XML来解析。马上我的头顶部(即没有错误检查):
<!-- Gets the Time Stamp -->
<tstamp>
<format property="buildtat" pattern="MM/dd/yyyy HH:MM"/>
</tstamp>
<!-- Generates the revision information you need-->
<exec
executable="svn"
output="${svn.log.file}">
<arg line="log --xml -rHEAD/>
</exec>
<!-- Reads that information into a Property -->
<xmlproperty file="${svn.log.file}"/>
<echo message="Subversion Rev: ${log.logentry{revision}}"/>
不过,我建议你看一个持续构建系统,如Jenkins。无论何时在Subversion版本库中进行更改,Jenkins都会选择更改并自动进行新版本构建。这不仅可以让您验证您的更改不会破坏您的构建,但Jenkins可以像运行JUnit测试一样执行其他操作。然后Jenkins将您的构建和测试结果以及整个构建日志存储在一个易于访问的HTML页面中。
Jenkins会为你工作的地方在于Jenkins会自动公开诸如Subversion Revision这样的东西,作为构建过程的一部分。您可以获取Subversion修订版,Jenkins内部版本号,Jenkins项目的名称以及许多其他作为环境变量的内容。然后,你可以这样做:
<property env="env."/>
<propertyfile file="${dist.dir}\deploymentManifest.txt"
comment="This file is automatically generated - DO NOT EDIT">
<entry key="buildtime" value="${env.BUILD_ID}"/>
<entry key="build" value="${env.SVN_REVISION}"/>
<entry key="version" value="${BUILD_NUMBER}"/>
<entry key="systemLocation" value="${directory/filename.ext}"/>
</propertyfile>
看看詹金斯。这很容易理解和使用。
它应该需要大约5分钟的时间下载,也许10分钟就可以在Linux系统上启动并运行。 Windows更复杂,可能需要15到20分钟才能启动并运行。您现在可以在桌面系统上运行它,并使用它。
它应该需要你花半个小时才能找出如何设置一个项目,每当有人提交时自动生成项目。
詹金斯是基于Web的,但自带轻量级基于Web的应用程序引擎。所有你需要的是Java 1.6来运行它。 (而且,如果你使用Eclipse,你应该已经有了)。
谢谢。我会研究它:) –