我想添加一个接受版本号的grunt任务。然后将在package.json
文件中设置此版本号。我发现了grunt-bump,它会破坏版本号,但是我想将版本号设置为一个已知值,它将来自构建服务器。
Grunt任务:
grunt.registerTask('setversion', function() {
// Something to go here to update the version number.
});
的package.json:
{
"name": "scoreboard",
"version": "0.2",
...
}
任何人都有任何想法?
答案 0 :(得分:2)
您可以使用以下内容:
grunt.registerTask('setversion', function(arg1) {
console.log("Attempting to update version to "+arg1);
var parsedJson= grunt.file.readJSON("package.json");//read in the current
parsedJson["version"] = arg1; //set the top level version field to arg1
grunt.file.write("package.json", JSON.stringify(parsedJson, null, 2));
});
添加一些错误检查等。确保package.json是可写的并使用grunt setversion:newVersion
执行,例如:grunt setversion:0.3
答案 1 :(得分:1)
感谢您的回答,但事实证明它更直截了当。我正在使用TeamCity,因此我使用以下命令运行了NPM任务,其中%system.build.number%
遵循模式n.n.n
,例如:0.1.6
。
--no-git-tag-version version %system.build.number%