Re: Custom plugin - resolve variables loaded from a file

2009-12-16 Thread Ryan Connolly
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:
  

  src/main/resources
  true

  

Then in the plugin, simply refer to the filtered version of the script file:

  
${project.build.directory}/classes/yourScriptFile.sh

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  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  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)  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  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


Re: Custom plugin - resolve variables loaded from a file

2009-12-16 Thread Gajo Csaba
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  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)  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  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



Re: Custom plugin - resolve variables loaded from a file

2009-12-16 Thread Ryan Connolly
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  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)  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  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
>
>

-- 
Sent from my mobile device

�...@n

-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org