Ant の現在の作業ディレクトリを変更するにはどうすればよいですか?
Antのドキュメントにはタスクがなく<chdir>
、現在の作業ディレクトリを変更しないことがベスト プラクティスであるように思えます。
しかし、まだそれをやりたいと仮定しましょう - どうやってそれを達成しますか? ありがとう!
Ant の現在の作業ディレクトリを変更するにはどうすればよいですか?
Antのドキュメントにはタスクがなく<chdir>
、現在の作業ディレクトリを変更しないことがベスト プラクティスであるように思えます。
しかし、まだそれをやりたいと仮定しましょう - どうやってそれを達成しますか? ありがとう!
質問のコメントにある Mark O'Connor のヒントに従って、次の解決策を思いつきました。
<project name="cwd" default="parent">
<target name="parent">
<echo message="Current working directory in parent: ${basedir}" />
<ant antfile="../build.xml" dir="subdir" target="subDirTarget"
inheritAll="true" inheritRefs="true" />
</target>
<target name="subDirTarget">
<echo message="Current working directory in subDirTarget: ${basedir}" />
</target>
</project>
これは機能します - 出力:
Buildfile: C:\Sandbox\parent\build.xml
parent:
[echo] Current working directory in parent: E:\Sandbox\parent
subDirTarget:
[echo] Current working directory in subDirTarget: E:\Sandbox\parent\subdir
BUILD SUCCESSFUL
Total time: 1 second
Ant-Contribの<var>
task を使って change も試しbasedir
てみましたが、効果はないようでした。