У меня есть проект Ant, который использует немного Coffee Script. Я хотел бы, чтобы Ant скомпилировал весь кофе вместо того, чтобы делать еще один шаг сборки для его компиляции. Сценарий командной строки coffee, который я хочу использовать, который компилирует все файлы coffee в синонимичные js-файлы (site.coffee компилируется в site.js, app.coffee компилируется в app.js):
coffee -c ./js/*.coffee
Я создал задачу Ant, которая, как я предполагал, будет запускать ту же команду, но получаю сообщение об ошибке:
<target name="compilecoffee" description="Compiles coffeescript files">
<exec executable="coffee">
<arg value="-c ${env.WORKSPACE}js/*.coffee" />
</exec>
</target>
Теперь, когда я запускаю ant compilecoffee -Denv.WORKSPACE=./
, я получаю следующую ошибку от Coffee:
Buildfile: /Users/dave/Workspace/ColdFusion/Mura-Themes/e123-1/build.xml
compilecoffee:
[exec]
[exec] node.js:116
[exec] throw e; // process.nextTick error, or 'error' event on first tick
[exec] ^
[exec] Error: unrecognized option: -c ./js/3_site.coffee
[exec] at OptionParser.parse (/Users/dave/local/lib/node/.npm/coffee-script/1.1.1/package/lib/optparse.js:34:17)
[exec] at /Users/dave/local/lib/node/.npm/coffee-script/1.1.1/package/lib/command.js:245:29
[exec] at Object.run (/Users/dave/local/lib/node/.npm/coffee-script/1.1.1/package/lib/command.js:24:5)
[exec] at Object.<anonymous> (/Users/dave/local/lib/node/.npm/coffee-script/1.1.1/package/bin/coffee:7:27)
[exec] at Module._compile (module.js:373:26)
[exec] at Object..js (module.js:379:10)
[exec] at Module.load (module.js:305:31)
[exec] at Function._load (module.js:271:10)
[exec] at Array.<anonymous> (module.js:392:10)
[exec] at EventEmitter._tickCallback (node.js:108:26)
[exec] Result: 1
Если я запускаю, как мне показалось, кофейный эквивлант прямо в командной строке (coffee -c ./js/*.coffee
), я не получаю ошибок, и все работает как положено. Я неправильно использую цель exec?