2014-01-16 3 views
1

나는 껍질을 벗기고 다른 작업을 추가 할 수 있는지 궁금해하고 있었다. 내 작업에 대한 다음그르 른 쉘에서 다른 작업으로 출력

shell: { 
    gitlog: { 
    command: 'git log -1 --pretty=format:%h', 
     options: { 
     stdout: true 
     } 
    } 
} 

: 그리고 여기에 내가 무엇을 가지고

grunt.registerTask('build-version', 'Set the information about the version', function() { 
    grunt.file.write('version.json', JSON.stringify({ 
      version: pkg['version'], 
      metaRevision: shell.gitlog, 
      date: grunt.template.today() 
    })); 
}); 

내가 너무 내 자식 SHA-1을해야 할 일을 알아 내려고 노력이 어떤 도움을 주셔서 감사합니다을 것이다 내 metaRevision의 일부가되어야합니다.

답변

3

귀하의 질문은 하드 조금 당신이 다른 작업에 쉘 명령의 실행 결과를 사용하고자하는 뜻

:-) 이해하는 것입니다? 그렇다면

, 당신이, 내가 추가 두 번째 작업하지 않고, 명령 실행에서 콜백을 사용하여 이동하고, 거기에 파일을 저장 할 설명하는 경우 (https://github.com/sindresorhus/grunt-shell 참조)

grunt.initConfig({ 
    shell: { 
     gitlog: { 
      command: 'git log -1 --pretty=format:%h', 
      options: { 
       callback: function log(err, stdout, stderr, cb) { 
       grunt.file.write('version.json', JSON.stringify({ 
         version: pkg['version'], 
         metaRevision: stdout, 
         date: grunt.template.today() 
       })); 
       cb(); 
       } 
      } 
     } 
    } 
}); 
관련 문제