我需要运行grunt-bump
,以便在package.json
中更新版本号,然后运行grunt-xmlpoke
并使用新版本号更新配置文件。
所以我尝试了几件事。在grunt.initConfig
内部运行碰撞,然后我运行xmlpoke。
1)xmlpoke需要grunt.file.readJSON('package.json').version
或
2)碰撞后我运行一个自定义任务,将新版本添加到grunt选项,xmlpoke的值为grunt.options("versionNumber")
在这两个版本中,xml结果都是预碰撞版本。因此xmlpoke在任务运行之前获取它的值,并在调用任务时使用它们。但是我需要它来获取前一个任务的结果值。
有没有这样做?
答案 0 :(得分:2)
好的,我已经找到了一个明显的解决方案。
使用grunt-bump可以更新package.config,还可以更新通常在initConfig开头读入变量pkg的package.config。所以在你指定的碰撞任务的设置中
{
updateConfigs:['pkg']
}
然后在xmlpoke中我可以做
{ xpath:'myxpath', value:'blablabla/<%=pkg.version%>'}
这是有效的。我以前做的是
{ xpath:'myxpath', value:'blablabla/' + grunt.options.versionNumber}
我在碰撞后的前一个任务中设置了versionnumber。或
{ xpath:'myxpath', value:'blablabla/'+ grunt.file.readJSON('package.json').version}
这些都没有奏效。我想我只是因为&lt;%=%&gt;而为了自己的利益而变得聪明。是从initConfig中访问参数的更常见和典型的方法。
无论如何,你有它。或者我拥有它。