2014-02-15 4 views
2

Как часть моей команды grunt: build, я запускаю задачу оболочки, которая строит мой сайт jekyll, комментирует проект и выталкивает его в github. Единственная проблема - сообщение фиксации. Мне бы хотелось, чтобы можно было вызвать grunt: build, а также передать строку, которая станет моим сообщением о фиксации. Но я не уверен, как это сделать. Есть предположения?Как передать параметр в задание?

Вот соответствующие части моего Gruntfile:

module.exports = function(grunt) { 
     grunt.initConfig({ 
     pkg: grunt.file.readJSON('package.json'), 

      shell: { 

       dev: { 
        command: 'jekyll build' 
       }, 

       build: { 
        command: [ 
        'jekyll build', 
        'git commit -am "test commit"', 
        'git push origin master' 
        ].join('&&') 
       } 

       } 

    grunt.loadNpmTasks('grunt-shell'); 

    grunt.registerTask('build', ['jshint','concat', 'uglify','sass', 'autoprefixer','shell:build']); 

}; 
+0

возможно дубликат [Grunt - Аргументы командной строки , не работает] (http://stackoverflow.com/questions/17012102/grunt-command-line-arguments-not-working) – Ian

+0

Дополнительная информация: htt p: //gruntjs.com/api/grunt.option – Ian

ответ

5

Try grunt.option() (http://gruntjs.com/api/grunt.option):

'git commit -am "' + grunt.option('commit-msg') + '"', 

и работает с: grunt build --commit-msg="test commit"

+0

красивый. Благодаря! –

+0

Nice и сладкий. Спасибо, что указали опцию. – lislis

Смежные вопросы