ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Benson <gudnabr...@yahoo.com>
Subject Re: taskdef question - only usable at project level?
Date Tue, 11 Mar 2008 17:50:53 GMT

--- "Scot P. Floess" <floess@mindspring.com> wrote:

> So...to be honest...
> 
> I am working on something that will allow me to
> download whole projects 
> and install...only if not installed.  Yes, I know
> about Ivy ;)  And will 
> be incorporating soon...
> 

In Ant's distro (I think, else in SVN HEAD) you can
check out the cooperation between fetch.xml and
get-m2.xml .  This does something like what you're
talking about.

> So, what I was trying to do was...if something is
> installed, download 
> it, unpack it and then taskdef the appropriate
> stuff...like 
> Ant-Contrib...  There are some projects - JavaCC and
> FindBugs that 
> require the whole download...  I thought it'd be
> nice to have the above 
> mentioned capabilities...
> 
> I can definitely get around this...and have...  Just
> wanted to avoid 
> some pesky warning messages when the library isn't
> installed yet...
> 
> So, what are the advantages of antlib?  I've not
> used it...
> 

Um, when you taskdef a resource whose basename is
antlib.xml, you're using antlibs.  The advantage IMO
of using the xml ns mapping I pointed to is automation
and terseness.  The fetch.xml example shows that it
can be used at an arbitrary level e.g.
project/target/sequential as well.

HTH,
Matt

> Matt Benson wrote:
> > --- "Scot P. Floess" <floess@mindspring.com>
> wrote:
> >
> >   
> >> Yeah it definitely doesn't work.  It gets even
> >> better...  If I try to do 
> >> something after the <taskdef> - for example
> >> <ant-contrib:var  name = 
> >> "FOO"  unset = "true"/> I get this kind of error:
> >>     
> >
> > Not sure about your problem, and it probably bears
> > looking into, but if you're just going to import
> the
> > whole antlib to a namespace anyway, have you tried
> > importing as in the example at:
> >
> >
>
file:///Users/mbenson/oss/asf/ant/docs/manual/CoreTypes/antlib.html#antlibnamespace
> >
> > I prefer this way.  :)
> >
> > -Matt
> >
> >   
> >>
> /home/rdu/sfloess/development/test/ant2/build.xml:2:
> >> The following error 
> >> occurred while executing this line:
> >>
> >>     
> >
>
/home/rdu/sfloess/development/test/ant2/third-party.xml:45:
> >   
> >> The prefix 
> >> "ant-contrib" for element "ant-contrib:var" is
> not
> >> bound.
> >>
> >>
> >> Matt Benson wrote:
> >>     
> >>> --- "Scot P. Floess" <floess@mindspring.com>
> >>>       
> >> wrote:
> >>     
> >>>   
> >>>       
> >>>> I'd like to call <taskdef> either in a <target>
> >>>>         
> >> or a
> >>     
> >>>> <macrodef>.  
> >>>> However, when doing so it seems as if the call
> is
> >>>> ignored or forgotten 
> >>>> afterward:
> >>>>     
> >>>>         
> >>> That shouldn't be the case.  If you can create a
> >>>       
> >> small
> >>     
> >>> and reproducible example, pop it into Bugzilla.
> >>>
> >>> Regards,
> >>> Matt
> >>>
> >>>   
> >>>       
> >>>> Either:
> >>>>
> >>>> <target  name = "ensure-installed">
> >>>>             <taskdef  resource =
> >>>> "net/sf/antcontrib/antlib.xml"  uri = 
> >>>> "http://ant-contrib.sourceforge.net" 
> description
> >>>>         
> >> =
> >>     
> >>>> "Needed to use 
> >>>> ant-contrib.">
> >>>>                 <classpath>
> >>>>                     <pathelement  location = 
> >>>>
> >>>>     
> >>>>         
> >
>
"/local/sfloess/test/lib/ant-contrib/ant-contrib-1.0b3.jar"/>
> >   
> >>>   
> >>>       
> >>>>                 </classpath>
> >>>>             </taskdef>
> >>>> </target>
> >>>>
> >>>> Or
> >>>>
> >>>> <macrodef  name = "ensure-installed">
> >>>>     <sequential>
> >>>>             <taskdef  resource =
> >>>> "net/sf/antcontrib/antlib.xml"  uri = 
> >>>> "http://ant-contrib.sourceforge.net" 
> description
> >>>>         
> >> =
> >>     
> >>>> "Needed to use 
> >>>> ant-contrib.">
> >>>>                 <classpath>
> >>>>                     <pathelement  location = 
> >>>>
> >>>>     
> >>>>         
> >
>
"/local/sfloess/test/lib/ant-contrib/ant-contrib-1.0b3.jar"/>
> >   
> >>>   
> >>>       
> >>>>                 </classpath>
> >>>>             </taskdef>      
> >>>>     </sequential>
> >>>> </macrodef>
> >>>>
> >>>> I am running JDK 1.6 and ant 1.7.1
> >>>>
> >>>> I didn't readily see anything stating this
> can't
> >>>>         
> >> be
> >>     
> >>>> done...  Of course, 
> >>>> I didn't spend too much time investigating...
[SNIP]


      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message