我们这里有一个SVN存储库和一个GIT存储库。我们现在都有,因为我们试图说服其他员工使用后者就足够使用前者了。无论如何,我想将版本号合并到.exe文件中(使用或者)到我写的NSIS脚本中。但我似乎无法理解如何在代码中实现它。这是我到目前为止所做的。
Section
nsExec::Exec '"git" describe head'
Pop $0 #return value/error/timeout
Pop $1 #printed text
DetailPrint " Return value: $0"
DetailPrint " Version printed: $1"
SectionEnd
伪代码是:如果GIT存在,GIT描述头,否则如果SVN存在,SVN信息解析修订版#,否则解析汇编信息(称为version.txt)
我将如何继续为NSIS编写代码?目标计算机是Windows 7,8& 8.1
使用版本1.4b.2和一些GIT哈希(如果GIT存在为真),最终输出应该类似于KART.-1.4b.3.nte3j-installer.exe。我所拥有的并不多,但除此之外.exe构建和安装就好了,它只是在那里获得转速。
答案 0 :(得分:0)
如果您想获取修订号并将其作为文件名(或UI文本)的一部分用于您正在生成的设置,则必须使用编译时命令,如!system
和!searchparse
...
修改强>
!tempfile StdOut
!echo "${StdOut}"
!system '"svn" info c:\foo\trunk > "${stdout}"'
!searchparse /file "${StdOut}" "Revision: " SVNREV
!delfile "${StdOut}"
!undef StdOut
Name "MyApp SVN.${SVNREV}"