Używam ant 1.7, coraz następujący błąd:fileset nie obsługuje "erroronmissingdir" atrybut
build.xml: 55: fileset nie wspierać "erroronmissingdir" atrybut
co jest alternatywny atrybut dla erroronmissingdir (1.8) w 1.7
Używam ant 1.7, coraz następujący błąd:fileset nie obsługuje "erroronmissingdir" atrybut
build.xml: 55: fileset nie wspierać "erroronmissingdir" atrybut
co jest alternatywny atrybut dla erroronmissingdir (1.8) w 1.7
Atrybut erroronmissingdir fileset jest dostępny od wersji Ant 1.7.1. Musisz używać wcześniejszej wersji 1.7.
atrybut jest używany, aby powiedzieć build dyskretnie ignorować zestawy plików, dla których podstawa reż nie istnieje w czasie wykonywania:
<copy todir="tmp">
<fileset dir="foo" erroronmissingdir="false">
<include name="**/*"/>
</fileset>
</copy>
Jeśli nie określisz erroronmissingdir="false"
(lub nie może, ponieważ twoją wersją Ant nie obsługuje go), a następnie domyślnym wynikiem jest błąd kompilacji, jeśli katalog foo
nie istnieje.
Jeśli potrzebujesz kompilacji, aby odnieść sukces, niezależnie od tego, czy katalog istnieje, i nie możesz użyć atrybutu erroronmissingdir, masz kilka opcji.
Na przykład, można określić dir bazowy zestawu plików do być znany do istnieć rodzic Twojego docelowego katalogu, coś takiego:
<copy todir="tmp">
<fileset dir=".">
<include name="foo/**/*"/>
</fileset>
</copy>
(Uwaga: w tym przypadku, kopia będzie teraz tworzyć dir foo w todir
z copy
. można rozebrać, że przy użyciu glob mapper).
Inną alternatywą byłoby wykonać swoje warunkowo operacje fileset w cele, strzeżone przez warunek, np
<available property="foo.available" file="foo"/>
<target name="test" if="foo.available">
<copy todir="tmp">
<fileset dir="foo">
<include name="**/*"/>
</fileset>
</copy>
</target>
Wyjście z ant -v
pokaże:
[available] Unable to find foo to set property foo.available
test: Skipped because property 'foo.available' not set.
BUILD SUCCESSFUL Total time: 0 seconds