Ok, what I was suggesting should still work out for you. What I was suggesting was to put your script file into src/main/resources and configure filtering like so: <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources>
Then in the plugin, simply refer to the filtered version of the script file: <installScriptlet>${project.build.directory}/classes/yourScriptFile.sh</installScriptlet> Of course you could use a different output directory for the resources config so that the path to installScriptlet need not point to the target dir. HTH. -Ryan On Wed, Dec 16, 2009 at 8:09 AM, Gajo Csaba <csaba.g...@cosylab.com> wrote: > Well on initial testing it doesn't seem to work. Maybe the rpm plugin is > supposed to load the file through some maven resource interface? Right now, > it's doing this: > > final Reader reader = new FileReader( scriptFile ); > > Where scriptFile is a java.io.File. I think this way, it's bypassing > Maven's framework. This could be yet another bug... > > Thanks for the help, Csaba > > > > Ryan Connolly wrote: > >> Hi. I have no experience with this plugin but it would seem that you >> could first filter the file as a typical maven resource and then have >> the plugin point to the filtered version? >> >> >> >> On 12/16/09, Gajo Csaba <csaba.g...@cosylab.com> wrote: >> >> >>> Hello, >>> >>> We're using the rpm plugin for packaging, and we have a problem with its >>> install script. There are two ways to include a script. One is the >>> (deprecated) <install> tag. In this case, we would put the bash script >>> into the pom.xml, which is rather ugly, but it works. The bash script >>> itself contains Maven variables, and these are replaced by maven before >>> the script is used by the rpm plugin. >>> The other way is to user the <installScriptlet> tag. This tag required >>> the name of an external file, which contains the contents of the bash >>> script. This is a much cleaner approach. However, the problem is the >>> maven variables are not replaced in the external file, so the script >>> doesn't work. >>> >>> I've looked at the source code of the rpm plugin, and it seems that it >>> simply opens the external script file, and prints it line-by-line into >>> the generated spec file, with no modification to the line. >>> >>> I think it would be a good idea to modify the rpm plugin code at this >>> point, so that the line is first processed, expanding all maven >>> variables. >>> >>> How can I do this? How is maven expanding its variables? Is there a >>> method somewhere like MavenEnv.expandVariables(str) ? >>> >>> Thanks, Csaba >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >>> For additional commands, e-mail: users-h...@maven.apache.org >>> >>> >>> >>> >> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > > -- �...@n