Ant execタスクを使用してPerlスクリプトを実行するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1227463

  •  22-07-2019
  •  | 
  •  

質問

現在、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)を実行します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top