2017-05-26 80 views
1

我想添加一個接受版本號的grunt任務。該版本號將在package.json文件中設置。我發現grunt-bump會顛覆版本號,但我想將版本號設置爲一個已知值,該值將來自構建服務器。在package.json中設置版本號

咕嚕任務:

grunt.registerTask('setversion', function() { 
    // Something to go here to update the version number. 
}); 

的package.json:

{ 
    "name": "scoreboard", 
    "version": "0.2", 
    ... 
} 

任何人有任何想法的?

回答

1

您可以使用類似:

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

感謝您的回答,但它結果變得更加直截了當。我正在使用TeamCity,因此我使用以下命令運行了NPM任務,其中%system.build.number%遵循n.n.n的模式,例如:0.1.6

--no-git-tag-version version %system.build.number%