Actually, I changed the List attribute into an iterator so that
a ${distFileList.iterator()} would be enough. Unfortunately,
it does not seem to work out that well ;-(
I shall try your solution.Thanx,
--mike
Dion Gillard wrote:
On Thu, 20 Jan 2005 11:00:51 +0100, Michael Niemaz
<[EMAIL PROTECTED]> wrote:
Hi all, I'm trying to create my first maven plugin. I've implemented my java beans and the problem I'm facing is interacting with them in the jelly plugin. I get the following error when running 'maven Myupload':
BUILD FAILED File...... /home/niemaz/.maven/cache/maven-xxx-plugin-1.45/plugin.jelly Element... sf:ftpBean Line...... 26 Column.... 11 Property 'files' has no write method Total time: 3 seconds Finished at: Thu Jan 20 10:45:43 CET 2005
The trouble seems to reside in the fact that I do not handle files properly. What should I give to my Bean files property (List object)?
Below is my plugin.jelly code and the Bean source code as well.
Thanx,
--mike
nb: when I get rid of the 'files' field in the 'ftp' tag, it does crash but later ;-) Looks like I'm missing something here ...
<define:tag name="ftp">
<co:ftpBean
site="${site}"
destDir="${destDir}"
userEmail="${userEmail}"
files="${distFileList}"
/>
</define:tag>
<goal name="setfiles" description="Build the list of files to upload">
<fileScanner var="distFileList">
<fileset dir="${maven.dist.dir}">
<patternset>
<include name="*"/>
<exclude name="CHANGES.txt"/>
</patternset>
</fileset>
</fileScanner>
So distFileList is a FileScanner (see http://jakarta.apache.org/commons/jelly/tag-reference/ant_fileScanner.html ). You have a List as the bean property, and you'll need to convert, e.g from a FileScanner you can get an iterator of the files, loop through and add them to the list, e.g.
<j:useList var="myList" /> <j:forEach items="${distFileList.iterator()}" var="distFile"> ${myList.add(distFile)} </j:forEach>
</goal>
<goal name="Myupload" description="do the upload to the ftp server">
<co:ftp
site="${maven.xxx.ftp.site}"
destDir="${maven.xxx.ftp.incomingDir}"
files="${distFileList}"
userEmail="${maven.xxx.userEmail}"
/>
</goal>
And pass ${myList} into the co:ftp tag above as files="${myList}".
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
