uglify tutorial serve locally grunt example git gruntjs grunt-shell

git - tutorial - install grunt windows



Grunt-shell save command output como variable (1)

Estoy usando Grunt y Grunt-shell para construir / implementar mi proyecto Javascript.

Quiero obtener el último número de Git-commit y almacenarlo como una variable, pero no puedo descifrar cómo. Intenté tener una devolución de llamada y establecer una variable global. Esta variable se puede usar dentro de una función pero no desde dentro de otro bloque, parece

grunt.initConfig({ ... shell: { getGitCommitNo: { command: ''git rev-parse --short HEAD'', options: { callback: function (err, stdout, stderr, cb) { global[''gitCommitNo''] = stdout; grunt.log.ok(global.gitCommitNo); cb(); } } }, philTest: { command: ''echo Git Commit No: '' + global.gitCommitNo }, ... }

Salida:

>> Starting deployment process for version 1.1 in dev environment Running "shell:getGitCommitNo" (shell) task bfc82a9 >> bfc82a9 Running "shell:printTest" (shell) task Git Commit No: undefined Done, without errors.

¿Alguien puede sugerir cómo podría guardar el resultado de una línea de comando en una variable que se pueda usar, por favor?


Encontré que realmente puedo hacer esto usando una variable de configuración (en lugar de global) dentro de la devolución de llamada. (La nota debajo de la línea también elimina la nueva línea).

grunt.config.set(''gitCommitNo'', stdout.replace(''/n'', ''''));

Entonces esto se puede acceder usando:

<%=gitCommitNo%>