Hi,

In the Cactus project, we have been using a custom Ant task to check that
our different builds had the correct Ant properties set up. We called that
task checkProperties. It's a bit a overhead of us, as it has nothing to do
with Cactus (it is completely generic) and makes our build process more
complex than it should be (two phase process, one phase to build the custom
ant task and another to run the other builds).

Thus, we would like to donate it to the Ant project, as an optional task.

I haven't been following too closely the new tasks in the latest versions of
Ant and it is possible there is a better way of doing this now.

Here's its usage:

        <checkProperty>
            <property name="cvs.executable"/>
            <property name="j2ee.jar" isfile="true"/>
            <property name="commons.logging.jar" isfile="true"/>
            <property name="commons.httpclient.jar" isfile="true"/>
            <property name="httpunit.jar" isfile="true"/>
        </checkProperty>

When a file is not present, the error displayed is:

"The file [c:/apps/maven/repository/j2ee/jars/j2ee-1.3.jarx] pointed by
[j2ee.jar] does not exist"

For a property which is not a file or an undefined property, the error
displayed is:

"The property [cvs.executable] is not defined"

Hope you like it.

Thanks
-Vincent


begin 644 CheckPropertiesTask.java
M+RH-"B`J(#T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/[EMAIL PROTECTED]@T*("[EMAIL 
PROTECTED]&AE($%P
M86-H92!3;V9T=V%R92!,:6-E;G-E+"!697)S:6]N(#$N,0T*("H-"B`J($-O
M<'ER:6=H="`H8RD@,C`P,2TR,#`R(%1H92!!<&%C:&[EMAIL PROTECTED]'=A<[EMAIL 
PROTECTED]
M;F1A=&EO;BX@($%L;"!R:6=H=',-"B`J(')E<[EMAIL PROTECTED]("H-"B`J(%)E
M9&ES=')I8G5T:6]N(&%N9"!U<V4@:6X@<V]U<F-E(&%N9"!B:6YA<[EMAIL PROTECTED]
M;7,L('=I=&@@;W(@=VET:&]U=`T*("H@;6]D:69I8V%T:6]N+"!A<F4@<&5R
M;6ET=&5D('!R;W9I9&5D('[EMAIL PROTECTED]&AE(&9O;&QO=VEN9R!C;VYD:71I;VYS
[EMAIL PROTECTED]<F4@;[EMAIL PROTECTED]("H-"B`J(#$N(%)E9&ES=')I8G5T:6]N<R!O9B!S
M;[EMAIL PROTECTED](')E=&%I;B!T:&[EMAIL PROTECTED])[EMAIL PROTECTED]>7)I9VAT#0H@
M*B`@("!N;W1I8V4L('1H:7,@;&ES="!O9B!C;VYD:71I;VYS(&%N9"!T:&4@
M9F]L;&]W:6YG(&1I<V-L86EM97([EMAIL PROTECTED]@T*("H@,[EMAIL 
PROTECTED]:7-T<FEB=71I
M;VYS(&EN(&)I;F%R>2!F;W)M(&UU<W0@<F5P<F]D=6-E('1H92!A8F]V92!C
M;W!Y<FEG:'0-"B`J("`@(&YO=&[EMAIL PROTECTED]&AI<R!L:7-T(&]F(&-O;F1I=&EO
M;G,@86YD('1H92!F;VQL;W=I;F<@9&ES8VQA:6UE<B!I;@T*("H@("[EMAIL PROTECTED]&AE
M(&1O8W5M96YT871I;[EMAIL PROTECTED](&]T:&5R(&UA=&5R:6%L<R!P<F]V:61E
M9"!W:71H('1H90T*("H@("[EMAIL PROTECTED]&ES=')I8G5T:[EMAIL 
PROTECTED]("H-"B`J(#,N(%1H
M92!E;F0M=7-E<B!D;V-U;65N=&%T:6]N(&EN8VQU9&5D('=I=&@@=&AE(')E
M9&ES=')I8G5T:6]N+"[EMAIL PROTECTED]("H@("[EMAIL 
PROTECTED]"!M=7-T(&EN8VQU9&[EMAIL PROTECTED]&AE
M(&9O;&QO=VEN9R!A8VMN;W=L96=E;65N=#H-"B`J("`@("`@(")4:&ES('!R
M;V1U8W0@:6YC;'5D97,@<V]F='=A<[EMAIL PROTECTED]&5V96QO<&5D(&)Y('1H90T*("H@
M("`@("`@($%P86-H92!3;V9T=V%R92!&;W5N9&%T:6]N("AH='1P.B\O=W=W
M+F%P86-H92YO<F<[EMAIL PROTECTED]@("!!;'1E<FYA=&5L>[EMAIL PROTECTED]&AI<R!A8VMN
M;W=L96=E;65N="[EMAIL PROTECTED](&EN('1H92!S;V9T=V%R92!I='-E;&8L
[EMAIL PROTECTED]@("!I9B!A;[EMAIL PROTECTED]<F5V97(@<W5C:"!T:&ER9"UP87)T>2!A8VMN
M;W=L96=E;65N=',@;F]R;6%L;'[EMAIL PROTECTED]@T*("H-"B`J(#0N(%1H92!N
M86UE<R`B5&AE($IA:V%R=&[EMAIL PROTECTED]')O:F5C="(L(")#86-T=7,B(&%N9"`B07!A
M8VAE(%-O9G1W87)[EMAIL PROTECTED]@("!&;W5N9&%T:6]N(B!M=7-T(&YO="!B92!U
M<V5D('1O(&5N9&]R<V4@;W(@<')O;6]T92!P<F]D=6-T<PT*("H@("[EMAIL PROTECTED]&5R
M:79E9"!F<F]M('1H:7,@<V]F='=A<[EMAIL PROTECTED]:&]U="!P<FEO<B!W<FET=&5N
M('!E<FUI<W-I;VXN($9O<@T*("H@("[EMAIL PROTECTED])I='1E;B!P97)M:7-S:6]N+"!P
M;&5A<[EMAIL PROTECTED]&%C="!A<&%C:&5`87!A8VAE+F]R9RX-"[EMAIL PROTECTED]
M<F]D=6-T<R!D97)I=F5D(&9R;[EMAIL PROTECTED]&AI<R!S;V9T=V%R92!M87D@;F]T(&)E
M(&-A;&QE9"`B07!A8VAE(@T*("H@("`@;F]R(&UA>2`B07!A8VAE(B!A<'!E
M87(@:[EMAIL PROTECTED]&AE:7(@;F%M97,@=VET:&]U="!P<FEO<B!W<FET=&[EMAIL 
PROTECTED]@
M("!P97)M:7-S:6]N(&]F('1H92!!<&%C:&[EMAIL PROTECTED])[EMAIL 
PROTECTED]@T*("[EMAIL PROTECTED])
M4R!33T945T%212!)4R!04D]6241%1"[EMAIL PROTECTED]($E3)R<@04Y$($%.62!%6%!2
[EMAIL PROTECTED](@24U03$E%1`T*("[EMAIL PROTECTED]@24Y#3%5$24Y'+"!"
[EMAIL PROTECTED]($Q)[EMAIL PROTECTED](%1(12!)35!,245$(%=!4E)!3E1)15,-"B`J
M($]&($U%4D-(04Y404))[EMAIL PROTECTED]&3U(@02!005)424-5
M3$%2(%!54E!/[EMAIL PROTECTED])[EMAIL PROTECTED])[EMAIL PROTECTED]@[EMAIL 
PROTECTED]@
[EMAIL PROTECTED]($%004-(12!33T945T%212!&3U5.1$%424].([EMAIL PROTECTED])
M5%,@0T].5%))0E543U)3($)%($Q)04),12!&3U(@04Y9($1)4D5#5"[EMAIL PROTECTED]
M25)%0U0L([EMAIL PROTECTED],+"!%6$5-4$Q!4EDL($]2
M($-/3E-%455%3E1)[EMAIL PROTECTED]'+"!"[EMAIL PROTECTED]@
M*B!,24U)5$5$(%1/+"!04D]#55)%345.5"!/1B!354)35$E4551%($=/3T13
M($]2(%-%4E9)0T53.R!,3U-3($]&[EMAIL PROTECTED]($1!5$$L($]2(%!23T9)
M5%,[($]2($)54TE.15-3($E.5$524E505$E/[EMAIL PROTECTED]@
[EMAIL PROTECTED]/[EMAIL PROTECTED])9($]&($Q)04))[EMAIL PROTECTED])
M3B!#3TY44D%#5"[EMAIL PROTECTED]($Q)04))3$E462P-"B`J($]2(%1/[EMAIL PROTECTED]
M0TQ51$E.1R!.14=,24=%3D-%($]2([EMAIL PROTECTED]))4TE.1R!)3B!!
[EMAIL PROTECTED]($]55`T*("[EMAIL 
PROTECTED]@5$A%(%5312!/1B!42$E3(%-/1E1705)%+"!%
M5D5.($E&([EMAIL PROTECTED]@5$A%(%!/4U-)0DE,2519($]&[EMAIL PROTECTED](
M($1!34%'12X-"B`J(#T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/[EMAIL PROTECTED]@T*("H@
M5&AI<R!S;V9T=V%R92!C;VYS:7-T<R!O9B!V;VQU;G1A<[EMAIL PROTECTED]')I8G5T
M:6]N<R!M861E(&)Y(&UA;GD-"B`J(&EN9&EV:61U86QS(&]N(&)E:&%L9B!O
M9B!T:&[EMAIL PROTECTED](%-O9G1W87)E($9O=6YD871I;VXN("!&;W(@;6]R90T*
M("H@:6YF;W)M871I;VX@;[EMAIL PROTECTED]&AE($%P86-H92!3;V9T=V%R92!&;W5N9&%T
M:6]N+"!P;&5A<V4@<[EMAIL PROTECTED]:'1T<#HO+W=W=RYA<&%C:&4N;W)G+SXN
[EMAIL PROTECTED]@T*("HO#0IP86-K86=E(&]R9RYA<&%C:&4N8V%C='5S+F%N=#L-"@T*
M:6UP;W)T(&IA=F$N:6\N1FEL93L-"@T*:6UP;W)T(&IA=F$N=71I;"Y%;G5M
M97)A=&EO;CL-"FEM<&]R="!J879A+G5T:6PN5F5C=&]R.PT*#0II;7!O<G0@
M;W)G+F%P86-H92YT;V]L<RYA;G0N0G5I;&1%>&-E<'1I;VX[#0II;7!O<G0@
M;W)G+F%P86-H92YT;V]L<RYA;G0N5&%S:SL-"@[EMAIL PROTECTED]:&5C:R!T
M:&[EMAIL PROTECTED]<W1E;F-E(&]F(&$@;&ES="!O9B!P<F]P97)T:65S+"!D:7-P;&%Y
M('1H96ER('9A;'5E<R!A;F0@<W1O<"`-"B`J($%N="!I9B!A('!R;W!E<G1Y
M(&1O97,@;F]T(&5X:[EMAIL PROTECTED]("H-"B`J($5X86UP;&[EMAIL 
PROTECTED]<CX-"B`J(#QP
M<F4^/&-O9&[EMAIL PROTECTED]<')O<&5R='D@;F%M93TB<')O<&5R='DQ(B!V86QU
M93TB=F%L=64Q([EMAIL PROTECTED]@T*("H@/&-H96-K4')O<&5R=&EE<SX-"B`J("`@
M/'!R;W!E<G1Y(&YA;64](G!R;W!E<G1Y,2(@:7-F:6QE/2)T<G5E?&9A;'-E
M([EMAIL PROTECTED]@(#QP<F]P97)T>2!N86UE/2)P<F]P97)T>3(B(&ES9FEL93TB
M=')U97QF86QS92(O/@T*("H@/"]C:&5C:U!R;W!E<G1I97,[EMAIL PROTECTED]
M9&4^/"]P<[EMAIL PROTECTED]([EMAIL PROTECTED]@T*("[EMAIL 
PROTECTED]&%U=&AO<B`\82!H<F5F/2)M
M86EL=&\Z=FUA<W-O;$!A<&%C:&4N;W)G(CY6:6YC96YT($UA<W-O;#PO83X-
M"[EMAIL PROTECTED]<VEO;B`D260Z($-H96-K4')O<&5R=&EE<U1A<VLN:F%V
M82QV(#$N,R`R,#`R+S`X+S(W(#(R.C0X.C4T('9M87-S;[EMAIL PROTECTED]("0-"B`J
M+PT*<'5B;&EC(&-L87-S($-H96-K4')O<&5R=&EE<U1A<[EMAIL PROTECTED]<R!4
M87-K#0I[#0H@("[EMAIL PROTECTED]@("`@("[EMAIL 
PROTECTED]&ES="!O9B!!;G0@<')O<&5R=&EE
M<R!T;R!C:&5C:RX-"B`@("[EMAIL PROTECTED]"B`@("!P<FEV871E(%9E8W1O<B!P<F]P
M97)T:65S(#T@;F5W(%9E8W1O<[EMAIL PROTECTED]@("[EMAIL PROTECTED]@("`@("[EMAIL 
PROTECTED]
M(&$@;F5W('!R;W!E<G1Y('1O('1H92!L:7-T(&]F('!R;W!E<G1I97,@=&\@
M8VAE8VLN#0H@("`@("H-"B`@("[EMAIL PROTECTED]<&[EMAIL 
PROTECTED]&AE4')O<&5R='[EMAIL PROTECTED]&AE
M('!R;W!E<G1Y('1O(&%D9"!T;R!T:&4@;&ES=`T*("`@("`J+PT*("`@('!U
M8FQI8R!V;VED(&%D9%!R;W!E<G1Y*$-H96-K4')O<&5R='E)=&5M('1H95!R
M;W!E<G1Y*0T*("`@('L-"B`@("`@("[EMAIL PROTECTED]&AI<RYP<F]P97)T:65S+F%D9$5L
M96UE;G0H=&AE4')O<&5R='DI.PT*("`@('T-"@T*("`@("[EMAIL PROTECTED]("`@("`J
M($5X96-U=&[EMAIL PROTECTED]&%S:RX-"B`@("[EMAIL PROTECTED]@T*("`@("`J([EMAIL 
PROTECTED]&%S:R-E>&5C
M=71E*"D-"B`@("[EMAIL PROTECTED]"B`@("!P=6)L:6,@=F]I9"!E>&5C=71E*"[EMAIL 
PROTECTED]&AR
M;W=S($)U:6QD17AC97!T:6]N#0H@("`@>PT*("`@("`@("!%;G5M97)A=&EO
M;B!P<F]P97)T:65S([EMAIL PROTECTED]&AI<RYP<F]P97)T:65S+F5L96UE;G1S*"D[#0H-
M"B`@("`@("[EMAIL PROTECTED];&[EMAIL 
PROTECTED]'!R;W!E<G1I97,N:&%S36]R945L96UE;G1S*"DI
M#0H@("`@("`@('L-"B`@("`@("`@("`@($-H96-K4')O<&5R='E)=&5M('!R
M;W!E<G1Y([EMAIL PROTECTED]@("`@("`@("`@("`@("[EMAIL PROTECTED]')O<&5R='E)=&5M
M*2!P<F]P97)T:65S+FYE>'1%;&5M96YT*"D[#0H-"B`@("`@("`@("`@(%-T
M<FEN9R!V86QU92`](&=E=%!R;VIE8W0H*2YG9710<F]P97)T>2AP<F]P97)T
M>2YG971.86UE*"DI.PT*#0H@("`@("`@("`@("!I9B`H=F%L=64@/3T@;G5L
M;"D-"B`@("`@("`@("`@('L-"B`@("`@("`@("`@("`@("`O+R!4:&4@<')O
M<&5R='[EMAIL PROTECTED]&]E<R!N;[EMAIL 
PROTECTED]<W0-"B`@("`@("`@("`@("`@("!T:')O=R!N
M97<@0G5I;&1%>&-E<'1I;VXH(E1H92!P<F]P97)T>2!;(B`K('!R;W!E<G1Y
M+F=E=$YA;64H*0T*("`@("`@("`@("`@("`@("`@("`K(")=(&ES(&YO="!D
M969I;F5D(BD[#0H@("`@("`@("`@("!]#0H-"@T*("`@("`@("`@("[EMAIL PROTECTED]@
M4')I;[EMAIL PROTECTED]&AE('!R;W!E<G1Y(&YA;64O=F%L=64-"B`@("`@("`@("`@(&QO
M9RAP<F]P97)T>2YG971.86UE*"[EMAIL PROTECTED]([EMAIL 
PROTECTED](@*R!V86QU92`K(")=(BD[
M#0H-"B`@("`@("`@("`@("\O($-H96-K(&EF('1H92!F:6QE+V1I<B!E>&ES
M=`T*("`@("`@("`@("`@:[EMAIL PROTECTED]'!R;W!E<[EMAIL PROTECTED]("`@("`@
M("`@("`@>PT*("`@("`@("`@("`@("`@($9I;&[EMAIL PROTECTED]('!R;VIE8W0N
M<F5S;VQV949I;&4H=F%L=64I.PT*#0H@("`@("`@("`@("`@("`@:[EMAIL PROTECTED]"%F
M:6QE+F5X:7-T<[EMAIL PROTECTED]("`@("`@("`@("`@("`@('L-"B`@("`@("`@("`@
M("`@("`@("`@:[EMAIL PROTECTED]&9I;&4N:7-$:7)E8W1O<GDH*2D-"B`@("`@("`@("`@
M("`@("`@("`@>PT*("`@("`@("`@("`@("`@("`@("`@("[EMAIL PROTECTED]&AR;W<@;F5W
M($)U:6QD17AC97!T:6]N*")4:&[EMAIL PROTECTED]&ER96-T;W)Y(%LB("[EMAIL 
PROTECTED]"B`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`K(")=('!O:[EMAIL PROTECTED]@6R(@
M*R!P<F]P97)T>2YG971.86UE*"[EMAIL PROTECTED]@("`@("`@("`@("`@("`@("`@("`@
M("`@("[EMAIL PROTECTED];V5S(&YO="!E>&ES="(I.PT*("`@("`@("`@("`@("`@
M("`@("!]#0H@("`@("`@("`@("`@("`@("`@(&5L<V4-"B`@("`@("`@("`@
M("`@("`@("`@>PT*("`@("`@("`@("`@("`@("`@("`@("[EMAIL PROTECTED]&AR;W<@;F5W
M($)U:6QD17AC97!T:6]N*")4:&[EMAIL PROTECTED];(B`K('9A;'5E#0H@("`@("`@
M("`@("`@("`@("`@("`@("`@("[EMAIL PROTECTED];VEN=&5D(&)Y(%LB("L@<')O
M<&5R='[EMAIL PROTECTED]@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M*R`B72!D;V5S(&YO="!E>&ES="(I.PT*("`@("`@("`@("`@("`@("`@("!]
M#0H@("`@("`@("`@("`@("[EMAIL PROTECTED]("`@("`@("`@("[EMAIL 
PROTECTED]("`@("`@("!]
*#0H@("[EMAIL PROTECTED]@
`
end

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to