Thanks that works.

<project xmlns:myns="antlib:com.acme.ant.antlib">
    <taskdef uri="antlib:com.acme.ant.antlib" 
             resource="com/acme/ant/antlib/antlib.xml" 
                 classpath="path/to/antlib.jar"/>


So I have the following mappings:
* xml namespace (on project tag) maps to the antlib-URI
* the antlib-URI (uri on taskdef) maps to the resource (on taskdef) on the 
given classpath (on taskdef).


Jan

>-----Ursprüngliche Nachricht-----
>Von: Peter Reilly [mailto:[EMAIL PROTECTED] 
>Gesendet: Montag, 22. Mai 2006 14:00
>An: Ant Users List
>Betreff: Re: Could I bind an antlib to a xmlns via <taskdef>?
>
>Hi Jan,
>
>You are forgetting to bind the xmlns namespace to a URI.
>
>
><project xmlns:example="antlib:a.b.c" .../>
>    <taskdef resource="a/b/c/antlib.xml"
>             uri="antlib:a.b.c"
>                    classpath="jars/example.jar"/>
>      <example:hello/>
>
>Peter
>
>
>On 5/22/06, [EMAIL PROTECTED] 
><[EMAIL PROTECTED]> wrote:
>>
>> I created an antlib for a bundle of tasks/macrodefs. Including via
>>     <project xmlns:ccm="antlib:...">
>> works, but then
>> - I have to add the antlib to the global Ant installation 
>> (%ANT_HOME%/lib; %USER_HOME%/.ant/lib)
>>   which means the build is not reliable after a checkout on a clean 
>> machine [1] or
>> - modify the start command (ant.bat; %ANT_OPTS%;
>> %USER_HOME%/ant_{pre|post}.bat) which makes
>>   that machine different from the other in the team.
>>
>> I would prefer having the antlib in the project directory 
>and bind the 
>> antlib with the given classpath inside the buildfile.
>>
>>
>>
>>
>>   <typedef resource="antlib:..." uri="ccm"
>> classpath="../../build/antlib.jar"/>
>>   <ccm:start user="${user}" pwd="${pwd}" database="${db}"/> this 
>> results in
>>   The prefix "ccm" for element "ccm:start" is not bound.
>>     at
>> 
>org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:2
>> 33
>> )
>>     at
>> 
>org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:1
>> 40
>> )
>>     at
>> 
>org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java
>> :9
>> 1)
>>     at org.apache.tools.ant.Main.runBuild(Main.java:653)
>>     --- Nested Exception ---
>>     at
>> 
>org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unk
>> no
>> wn Source)
>>     ...
>>     at 
>org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>>         at
>> 
>org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:2
>> 17
>> )
>>
>>
>>
>> I think this is because the error occurs while parsing and the 
>> <taskdef> would be executed after that.
>>
>> Does anyone see a possibility to load the antlib from inside the 
>> buildfile?
>>
>>
>> Jan
>>
>>
>> [1]
>> 
>http://martinfowler.com/articles/continuousIntegration.html#MaintainAS
>> in
>> gleSourceRepository.
>>     "The basic rule of thumb is that you should be able to 
>walk up to 
>> the project with a virgin machine,
>>     do a checkout, and be able to fully build the system."
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED] For 
>additional 
>> commands, e-mail: [EMAIL PROTECTED]
>>
>>
>

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

Reply via email to