2017-05-26 14 views
1

バージョン番号を受け付けるgruntタスクを追加したいと思います。このバージョン番号はpackage.jsonファイルに設定されます。私はバージョン番号にバンプをつけているが、バージョン番号を既知の値に設定したいと思っています。これはビルドサーバーから来ます。package.jsonにバージョン番号を設定します。

面倒なタスク:

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

package.json:

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

誰もが任意のアイデアのですか?それが答えをgrunt setversion:0.3

答えて

1

次のようなものを使用することができますはるかに簡単であることが判明しました。私はTeamCityを使用しているので、%system.build.number%というパターンがn.n.nのパターンに従う、たとえば0.1.6というコマンドでNPMタスクを実行しました。

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

おかげで、しかし..などをチェックし、いくつかのエラーに追加してくださいpackage.jsonが書き込み可能であることを確認し、grunt setversion:newVersionなどで実行

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)); 
    });