まず、私が直面している問題の背景を説明しましょう。
私は以下のようなディレクトリ構造を持っています。
c:\ myDirectory
c:\ myDirectory \ Project1
c:\ myDirectory \ Scripts
c:\ myDirectory \ Scriptsの下に、(svnから)ソースコードをダウンロードしてc:\ myDirectory\Project1ディレクトリを作成するスクリプトがあります。
c:\ myDirectory \ Project1にダウンロードされたantスクリプトbuild.xmlからProject1をコンパイルする別のantスクリプト(c:\ myDirectory \ Scripts ** compile-source.xml )があります。
c:\ myDirectory \ Scripts\compile-source.xmlのスニペット
<project name="compile" default="buildAll" basedir=".">
<property file=".\build.properties">
</property>
.......
<import file="${project.home.path}/${project.name}/build.xml"/>
<target name="buildAll">
<antcall target="jar-pack"/>
</target>
</project>
c:\ myDirectory \ Project1\build.xmlのスニペット。
<project name="CommonFeatures" default="jar-pack" basedir=".">
<description>
A build file for the Common Features project
</description>
....
</project>
プロジェクトのbasedirは「。」に設定されていることに注意してください。上記の両方のantスクリプト。
c:\ myDirectory \ Scriptsディレクトリからスクリプトc:\ myDirectory \ Scripts \ compile-source.xmlを実行すると、c:\ myDirectory \ Project1\build.xmlにあるターゲット「jar-pack」が実行されます。
ただし、問題は、build.xml(basedir = "。")のbasedir属性が現在の作業ディレクトリであり、この場合はそのc:\ myDirectory\Scriptsであるということです。したがって、build.xmlのbasedirはc:\ myDirectory \ Project1であると予想されるため、スクリプトbuild.xmlはエラーになります。basedir = "の場合、build.xmlスクリプトは機能します。" 「c:\ myDirectory \ Project1」に設定されていましたが、残念ながらbuild.xmlファイルはダウンロードされたソースコードからのものであり、編集できません。
だからここに私の質問があります、次のいずれかを行うことは可能ですか?
attribude basedir="の値を上書きします。" build.xmlでc:\ myDirectory \ Scripts \ compile-source.xmlで行われますか?
スクリプトc:\ myDirectory \ Project1 \ build.xmlがディレクトリc:\ myDirectory \ Project1の下で実行されるように、build.xmlのbasedirを他のメカニズムで変更することは可能ですか?
この問題を解決する他の方法はありますか?
この問題を克服するためのAntの専門家からの助けは大歓迎です。