cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject Re: build system - status of filtering
Date Wed, 12 Mar 2003 10:51:49 GMT
Nicola Ken Barozzi wrote:
> 
> Stefano Mazzocchi wrote, On 11/03/2003 19.53:
> 
>> Christian Haul wrote:
>>
> ...
> 
>>> Strangely enough, a quick look at blocks-build.xsl seems to indicate
>>> that files in the conf directory are filtered. Hints anybody?
>>
>>
>> Yes. the <filter> indications are now located in a build.xml file 
>> located inside the block. Unfortunately, it seems that ant is not able 
>> to retain the scope of those tasks when setup in a nested antcall 
>> target, even if intra-vm.
> 
> 
> <antcall> actually works like <ant>, and is completely reentrant.
> ...

Right now I do the following:

build.xml:

   <ant inheritAll="true" inheritRefs="false" target="main" 
antfile="blocks/database/build.xml"/>
   <copy filtering="on">
    ...
   </copy>

and  blocks/database/build.xml contains:

   <target name="main">
    <filter token="db_url" value="${webapp.samples.database.url}"/>
   </target>

but the filtering doesn't work. I suspected this was because ant scopes 
the filter instantiations and removes them when exiting a subcall. Am I 
wrong?

>> the ideal solution would be to give its block the ability to define 
>> its own build customizations, but ant doesn't have this 'inheritance' 
>> concept :/
> 
> 
> It does (at least in the version Cocoon is using IIRC), it's called 
> <import>

Uh, awesome, didn't know that.

> Make a base-block-build.xml file, with the basic block build stuff, and 
> in every block build do a import of that file.

Really? Supercool!!! that would allow us to trash the XSLT generation of 
the uber-block-build. Is there documentation for the behavior of that 
task? Is it on 1.6-dev only? grrr, again dependent on unreleased stuff.

Why do we always have to have needs that are on the bleeding edge!! :(

> You can also redefine targets, and call the original targets by 
> prepending "projectname." to the target (where projectname is the actual 
> project name of the base build).

Don't get it. Can you elaborate more?

anyway, thanks much for this info, it's really helpful.


Mime
View raw message