2014-01-24 33 views
2

我需要運行grunt-bump,它會顛覆package.json中的版本號,然後運行grunt-xmlpoke並使用新版本號更新配置文件。grunt在一項任務中更新選項,以便後續任務可以使用它們

所以我嘗試了幾件事情。在grunt.initConfig裏面運行bump,然後運行xmlpoke。

1)xmlpoke需要grunt.file.readJSON('package.json').version

2)凸點後,我運行一個自定義任務,增加了新版本的咕嚕選項,xmlpoke需要的grunt.options("versionNumber")

的值。在兩者的這些版本的XML結果是預衝擊版本。因此,xmlpoke在任務運行之前獲取它的值,並在調用任務時使用它們。但我需要它取得之前任務結果的價值。

有沒有辦法做到這一點?

回答

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} 

其中我在顛簸之後的上一個任務中設置了版本號。或者

{ xpath:'myxpath', value:'blablabla/'+ grunt.file.readJSON('package.json').version} 

這些都沒有工作。我想我只是爲了自己的利益而變得聰明起來,因爲<%=%>是從initConfig內部訪問參數的更常見和典型的方式。

無論如何,你有它。或者我擁有它。

相關問題