Допустим, у меня есть файловая система, которая выглядит примерно так:
- C: \ stuff \ build.xml
- C: \ stuff \ myfolder \ library1.jar
- C: \ stuff \ myfolder \ library2.jar
Внутри build.xml я хочу определить путь, который выглядит следующим образом:
<path id="some.id">
<fileset dir="myfolder">
<include name="**/*.jar"/>
</fileset>
</path>
Обычно это нормально работает.Однако я вызываю свою собственную пользовательскую задачу Ant, которая унаследует любые ссылки (включая путь "some.id"), и эта пользовательская задача Ant вызовет build.xml, который находится в другом basedir.Следовательно, атрибут «dir» в наборе файлов больше недействителен.
Есть ли способ определить «dir» так, чтобы он оставался действительным независимо от того, где находится второй build.xml?
Я, по сути, хочу сделать что-то вроде этого:
<fileset dir="${expand.current.directory}/myfolder">
Поэтому, когда я вызову второй build.xml, он поймет, что атрибут "dir" - это расположение:
<fileset dir="c:\stuff\myfolder">
Редактировать: Кроме того, я хочу решение, которое позволило бы мне копировать проект "вещи" с одного компьютера на другой, не требуя изменения в сборке.Например, если проект «stuff» находится на диске C: и я копирую проект на диск D: на другом компьютере, я хочу, чтобы сборка продолжала работать без необходимости заходить в сборку и менять буквуС на букву Д.