Travailler avec Ant et Gruntjs:
Pour tous ceux qui essaient d'obtenir ce travail en utilisant Gruntjs. J'ai été en mesure de le faire fonctionner en faisant ce qui suit (en combinaison avec la réponse de darcyparker).
Dans mon Ant fichier de construction:
<target description="run grunt js tasks" name="grunt">
<exec dir="/path/to/grunt" executable="cmd" failonerror="true">
<arg value="/c"/>
<arg value="jshint.bat"/> // I broke each task into it's own exec
<arg line=" > jshint.log 2<&1"/>
<arg line=" || (type jshint.log & del jshint.log & exit /b 1)"/>
<arg line=" & type jshint.log & del jshint.log &"/>
</exec>
<exec dir="/path/to/grunt" executable="cmd" failonerror="true">
// another grunt task (IE: uglify, cssmin, ect..)
</exec>
</target>
jshint.bat
@echo off
pushd "C:\path\to\grunt\"
@ECHO _____________________________________________
@ECHO GRUNT JSHINT
@ECHO _____________________________________________
grunt jshint --stack >>jshint.log
REMARQUE: chemin grogner serait l'endroit où vos Gruntfile.js est situé. Notez également que j'ai dû créer initialement le fichier journal (pour l'utiliser avec la réponse de darcyparker), ce qui produirait la trace de la pile à partir de cette tâche particulière. Cela me donnerait alors la sortie de la pile de tâches grunt de partout où j'appelle ma cible de fourmi.
Enfin, notez que pushd "C:\path\to\grunt\"
ne sera pas nécessaire si vos fichiers bat sont dans le même répertoire que votre Gruntfile.js
.
de donner de la fourmi de sortie n'est pas la sortie complète. Si je le redirige vers un fichier, je reçois une chose totalement différente. – Geo
Cela est vrai pour les systèmes Unix. Mais sur les systèmes Windows, si vous appelez un fichier de commandes qui appelle à son tour d'autres commandes (comme 'node.exe'), alors stdout et stderror du processus enfant node.exe sont perdus. Voir le _hack_ Je décris comme une réponse si vous êtes sur Windows et avoir ce problème. – darcyparker