Please try and keep your examples short so it is easier to find what you need.

Where you showed this:
${maven.assembler.patch.${patchID}.src}

I think what you want is:
${context.getVariable('maven.assembler.patch.'+pathID+'.src')}

HTH,
Brett

On 6/3/05, Rahul <[EMAIL PROTECTED]> wrote:
> Hi,
> 
> I am writing a plugin that can patch resourses for different J2EE
> servers. My build.properties file looks as below:
> 
> <snip>
> # Resources to be patched (comma-separated list)
> # this sets up identifiers for resources
> # FIXME : Trim leading and trailing spaces in list
> maven.assembler.patch.list=jrun,tomcat,weblogic
> 
> # set up patch-sets here (src, target & includes)
> maven.assembler.patch.jrun.src=${basedir}/patches/jrun
> maven.assembler.patch.jrun.target=${basedir}/www
> maven.assembler.patch.jrun.includes=**.*.properties
> 
> maven.assembler.patch.tomcat.src=${basedir}/patches/tomcat
> maven.assembler.patch.tomcat.target=${basedir}/www
> maven.assembler.patch.tomcat.includes=**/*.xml
> 
> maven.assembler.patch.weblogic.src=${basedir}/patches/weblogic
> maven.assembler.patch.weblogic.target=${basedir}/www
> maven.assembler.patch.weblogic.includes=**/*.xml,**.*.properties
> </snip>
> 
> and, I need to process it dynamically like this :
> (a) create a list of patches. (easy)
> (b) Iterate over patches and build 'patch-sets'. (stuck here!)
> (c) copy over patches. (easy )
> 
> The plugin goal is reproduced below:
> <goal name="erm:assemble">
>     <j:set var="list" value="${maven.assembler.patch.list}" />
> 
>     <j:if test="${!empty(list)}">
>       <util:tokenize var="patches" delim=","
> trim="true">${list}</util:tokenize>
> 
>       <j:forEach items="${patches}" var="patchID" indexVar="index">
>         <log:info>INFO: Building Patch set for Patch ID :
> ${patchID}</log:info>
> 
>         <j:set var="patch.src.dir"
> value="maven.assembler.patch.${patchID}.src" />
>                          ^^^^^^^^^^^
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (This is where I need nested expression,
> something like ${maven.assembler.patch.${patchID}.src}   )
> 
>         <j:set var="patch.target.dir"
> value="maven.assembler.patch.${patchID}.target" />
>                          ^^^^^^^^^^^
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
>         <!-- TODO: Test for valid source and target folders -->
>         <!-- Set up a temporary folder where release is being packaged -->
>         <j:set var="release.packaging.dir"
> value="${basedir}/release-packaging" />
>         <ant:delete dir="${release.packaging.dir}"/>
>         <ant:mkdir dir="${release.packaging.dir}"/>
> 
>         <!-- Make a copy of source folders in the release-packaging
> directory -->
>         <ant:copy todir="${release.packaging.dir}/${patch.target.dir}" >
>           <fileset dir="${patch.src.dir}" includes="**/*.*" />
>           <!-- Use includes to filter file types -->
>         </ant:copy>
> 
>         <!-- Copy over patches to target dir created under release
> packaging -->
>         <ant:copy todir="${release.packaging.dir}/${patch.target.dir}" >
>           <fileset dir="${patch.target.dir}" includes="**/*.*" />
>           <!-- Use includes to filter file types -->
>         </ant:copy>
> 
>       </j:forEach>
>     </j:if>
>   </goal>
> 
> Thanks in advance for any pointers. Appreciate it.
> 
> Cheers,
> 
> Rahul
> 
> 
> ---------------------------------------------------------------------
> 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