Ant execタスクを使用してPerlスクリプトを実行するにはどうすればよいですか?
質問
現在、Antビルドスクリプトにこれがあります:
<exec dir="${basedir}" executable="perl">
<arg line="${basedir}/version.pl -major"/>
</exec>
ただし、それを実行すると、次のエラーメッセージが表示されます。
[exec] -major
を開けませんでした [exec]結果:2
それは、私が持っているのは、存在しない-majorというファイルを実行しようとしているということです。ファイルは、-majorの引数を取るversion.plです。
引数-majorを指定してversion.plを実行するようにこれを変更するにはどうすればよいですか
私はantスクリプトをSolarisマシンで実行していることに注意してください。ただし、クロスプラットフォームまたは他のOS向けのソリューションは後世に歓迎されています。
解決
私は、あまり多くのことをせずに簡単な小さなPerlスクリプトを作成し、SolarisボックスでAnt 1.5を使用してコマンドライン引数を渡すだけで正常に実行しました。
<project name="perly" basedir="." default="run">
<target name="run">
<exec executable="perl" dir="${basedir}">
<arg value="version.pl"/>
<arg value="-major"/>
</exec>
</target>
</project>
$ ant run
よくわからないのは、「開くことができませんでした-major」を取得する方法です。これはカスタムの die
メッセージですか?メジャーの代わりに渡されるファイル名があるはずですか?
他のヒント
これを試すことができます:
<exec executable="perl" dir="${basedir}">
<arg value="version.pl"/>
<arg value="-major"/>
</exec>
Windowsの場合
動作する場合はこれを試してください:
<exec dir="${basedir}" executable="./test.pl">
<arg line="-major"/>
</exec>
ant execドキュメントから:
dir:コマンドを実行するディレクトリ。
だから、$ dirにcdし、$ executable(shebang set)を実行します
所属していません StackOverflow