4

Ant の現在の作業ディレクトリを変更するにはどうすればよいですか?

Antのドキュメントにはタスクがなく<chdir>、現在の作業ディレクトリを変更しないことがベスト プラクティスであるように思えます。

しかし、まだそれをやりたいと仮定しましょう - どうやってそれを達成しますか? ありがとう!

4

1 に答える 1

4

質問のコメントにある 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てみましたが、効果はないようでした。

于 2013-07-03T11:32:16.657 に答える