[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kettle-developers
Subject:    Re: [kettle-developers] Re: Overriding plugin classloader via Annotations?
From:       Matt Burgess <mattyb149 () gmail ! com>
Date:       2014-03-07 2:54:17
Message-ID: A21C9BCD-1E23-4B43-9B6F-D8D710661AB3 () gmail ! com
[Download RAW message or body]

Indeed, that's been the concern thus far, the JDT dependency on Drools and the \
potential conflicts. For a releasable product, this implies quite a bit of regression \
testing by our engineers.

That's not to say your request won't be accepted, it just has to go through the \
engineering workflow including prioritization and risk assessment.

Cheers,
Matt

Sent from my iPhone

> On Mar 6, 2014, at 9:36 PM, Evgeny Minkevich <evgeny.minkevich@gmail.com> wrote:
> 
> Bear in mind that if you accept this pull, modeller project will most likely fail - \
> as it depends on PDI for its libraries (that's why the in place fix - pull 205 - \
> has been reverted). 
> To fix this failure one would need to add the following libraries as the modeller \
> dependencies : 
> <dependency org="org.mvel"                         name="mvel2"                \
> rev="2.0.10"          transitive="false"/> <dependency org="org.eclipse.jdt"        \
> name="core"                 rev="3.4.2.v_883_R34x" transitive="false"/> 
> and potentially the drools if the two above will not be enough:
> 
> <dependency org="org.drools"                       name="drools-api"           \
> rev="5.0.1"           transitive="false"/> <dependency org="org.drools"             \
> name="drools-core"          rev="5.0.1"           transitive="false"/> <dependency \
> org="org.drools"                       name="drools-compiler"      rev="5.0.1"      \
> transitive="false"/> 
> These are the libraries that have been moved into plugin.
> 
> 
> 
> > On Fri, Mar 7, 2014 at 1:08 PM, Matthew Burgess <mattyb149@gmail.com> wrote:
> > Ah, I see what you mean, we've done something similar for logging in 5.0.  Matt \
> > C, can you review and comment on the inclusion of a new Kettle core plugin? 
> > Thanks,
> > Matt
> > 
> > From: Evgeny Minkevich <evgeny.minkevich@gmail.com>
> > Reply-To: <kettle-developers@googlegroups.com>
> > Date: Thursday, March 6, 2014 at 8:53 PM
> > 
> > To: <kettle-developers@googlegroups.com>
> > Subject: Re: [kettle-developers] Re: Overriding plugin classloader via \
> > Annotations? 
> > Sure - that's the plan. I would like to do a proper implementation (including \
> > variables, globals, flexible editing) for the latest version version of drools - \
> > 6.0. 
> > The problem is that while the existing version (5.0) is part of the core PDI - it \
> > is not possible  - drools intialises itseld in a way that conflicts with plug in \
> > classloaders). That's why I suggested to move the _existing_ version (5.0) to be \
> > a plug in  as well - https://github.com/pentaho/pentaho-kettle/pull/272 - just to \
> > preserve backward compatibility for those who might be using it. 
> > If the pull request is accepted I'll start on drools 6 as a plug in which will be \
> > distributed through a market place. 
> > Two versions can coexist if they are both plugins.
> > 
> > Any help in promoting the abovementioned pull request is appreciated.
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > > On Fri, Mar 7, 2014 at 12:18 PM, Matthew Burgess <mattyb149@gmail.com> wrote:
> > > This is a good idea as a plugin, thanks very much for your contribution! \
> > > However we are encouraging contributors to add their plugins to the PDI \
> > > Marketplace (hosting their own code and distribution, rather than in the \
> > > pentaho-kettle GitHub project) to keep the size of the core product to a \
> > > minimum and put the power back in the hands of the user as to which plugins are \
> > > installed and so forth. 
> > > I meant to respond earlier to this and for that I apologize; I offer my help in \
> > > getting you set up to deliver the plugin to the PDI Marketplace so we can all \
> > > benefit from your contribution! 
> > > Cheers,
> > > Matt(B)
> > > 
> > > From: Evgeny Minkevich <evgeny.minkevich@gmail.com>
> > > Reply-To: <kettle-developers@googlegroups.com>
> > > Date: Thursday, March 6, 2014 at 7:55 PM
> > > To: <kettle-developers@googlegroups.com>
> > > Subject: Re: [kettle-developers] Re: Overriding plugin classloader via \
> > > Annotations? 
> > > Had a look at the patch - good option to have indeed, thank you.
> > > 
> > > Would you have a minute to check the Drools library mess \
> > > (http://jira.pentaho.com/browse/PDI-10657) ? 
> > > As the in-place upgrade did not work I converted the Rules Executor/Accumulator \
> > > steps into a plugin. This way the DROOLS dependencies will be isolated from the \
> > > downstream projects. Yes they will need to be explicitly defined in the \
> > > downstream projects. But that will allow us to untangle them (i.e. modeller) \
> > > from the PDI implementation and allow me to upgrade the DROOLS version to the \
> > > recent release. 
> > > Would much appreciate some help in that regard.
> > > 
> > > Thanks.
> > > 
> > > 
> > > 
> > > 
> > > > On Fri, Mar 7, 2014 at 11:05 AM, Matt Casters <mattcasters@gmail.com> wrote:
> > > > Hi Evgeny,
> > > > 
> > > > I don't know what exactly you were asking for but we had a requirement to \
> > > > allow multiple plugins to use the same class loader. So we added \
> > > > http://jira.pentaho.com/browse/PDI-11612 
> > > > If there are other tweaks you need, this might be a great time to bring them \
> > > > forward. 
> > > > Happy hacking,
> > > > 
> > > > Matt
> > > > 
> > > > 
> > > > > On Saturday, February 1, 2014 9:15:34 AM UTC+1, Evgeny Minkevich wrote:
> > > > > Hi,
> > > > > 
> > > > > is there a way to enforce overriding classloader for a plugin through \
> > > > > annotations? 
> > > > > Or the plugin.xml is the only way to go?
> > > > 
> > > > -- 
> > > > You received this message because you are subscribed to the Google Groups \
> > > > "kettle-developers" group. To unsubscribe from this group and stop receiving \
> > > > emails from it, send an email to \
> > > > kettle-developers+unsubscribe@googlegroups.com. To post to this group, send \
> > > > email to kettle-developers@googlegroups.com. Visit this group at \
> > > > http://groups.google.com/group/kettle-developers. For more options, visit \
> > > > https://groups.google.com/d/optout.
> > > 
> > > -- 
> > > You received this message because you are subscribed to the Google Groups \
> > > "kettle-developers" group. To unsubscribe from this group and stop receiving \
> > > emails from it, send an email to \
> > > kettle-developers+unsubscribe@googlegroups.com. To post to this group, send \
> > > email to kettle-developers@googlegroups.com. Visit this group at \
> > > http://groups.google.com/group/kettle-developers. For more options, visit \
> > >                 https://groups.google.com/d/optout.
> > > -- 
> > > You received this message because you are subscribed to the Google Groups \
> > > "kettle-developers" group. To unsubscribe from this group and stop receiving \
> > > emails from it, send an email to \
> > > kettle-developers+unsubscribe@googlegroups.com. To post to this group, send \
> > > email to kettle-developers@googlegroups.com. Visit this group at \
> > > http://groups.google.com/group/kettle-developers. For more options, visit \
> > > https://groups.google.com/d/optout.
> > 
> > -- 
> > You received this message because you are subscribed to the Google Groups \
> > "kettle-developers" group. To unsubscribe from this group and stop receiving \
> > emails from it, send an email to kettle-developers+unsubscribe@googlegroups.com. \
> > To post to this group, send email to kettle-developers@googlegroups.com. Visit \
> > this group at http://groups.google.com/group/kettle-developers. For more options, \
> >                 visit https://groups.google.com/d/optout.
> > -- 
> > You received this message because you are subscribed to the Google Groups \
> > "kettle-developers" group. To unsubscribe from this group and stop receiving \
> > emails from it, send an email to kettle-developers+unsubscribe@googlegroups.com. \
> > To post to this group, send email to kettle-developers@googlegroups.com. Visit \
> > this group at http://groups.google.com/group/kettle-developers. For more options, \
> > visit https://groups.google.com/d/optout.
> 
> -- 
> You received this message because you are subscribed to the Google Groups \
> "kettle-developers" group. To unsubscribe from this group and stop receiving emails \
> from it, send an email to kettle-developers+unsubscribe@googlegroups.com. To post \
> to this group, send email to kettle-developers@googlegroups.com. Visit this group \
> at http://groups.google.com/group/kettle-developers. For more options, visit \
> https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups \
"kettle-developers" group. To unsubscribe from this group and stop receiving emails \
from it, send an email to kettle-developers+unsubscribe@googlegroups.com. To post to \
this group, send email to kettle-developers@googlegroups.com. Visit this group at \
http://groups.google.com/group/kettle-developers. For more options, visit \
https://groups.google.com/d/optout.


[Attachment #3 (text/html)]

<html><head><meta http-equiv="content-type" content="text/html; \
charset=utf-8"></head><body dir="auto"><div>Indeed, that's been the concern thus far, \
the JDT dependency on Drools and the potential conflicts. For a releasable product, \
this implies quite a bit of regression testing by our \
engineers.</div><div><br></div><div>That's not to say your request won't be accepted, \
it just has to go through the engineering workflow including prioritization and risk \
assessment.</div><div><br></div><div>Cheers,</div><div>Matt<br><br>Sent from my \
iPhone</div><div><br>On Mar 6, 2014, at 9:36 PM, Evgeny Minkevich &lt;<a \
href="mailto:evgeny.minkevich@gmail.com">evgeny.minkevich@gmail.com</a>&gt; \
wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">Bear in mind that if \
you accept this pull, modeller project will most likely fail - as it depends on PDI \
for its libraries (that's why the in place fix - pull 205 - has been \
reverted).<div><br></div><div> To fix this failure one would need to add the \
following libraries as the modeller dependencies \
:<br></div><div><br></div><div><div>&nbsp; &nbsp; &lt;dependency org="org.mvel" \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
name="mvel2" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rev="2.0.10" \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;transitive="false"/&gt;<br> </div><div>&nbsp; \
&nbsp; &lt;dependency org="org.eclipse.jdt" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; &nbsp;name="core" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; rev="3.4.2.v_883_R34x" \
transitive="false"/&gt;</div></div><div><br></div><div>and potentially the drools if \
the two above will not be enough:</div> <div><br></div><div><div>&nbsp; &nbsp; \
&lt;dependency org="org.drools" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; &nbsp; &nbsp; name="drools-api" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
rev="5.0.1" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
transitive="false"/&gt;</div><div>&nbsp; &nbsp; &lt;dependency org="org.drools" \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
name="drools-core" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rev="5.0.1" &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; transitive="false"/&gt;</div> <div>&nbsp; &nbsp; &lt;dependency \
org="org.drools" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; name="drools-compiler" &nbsp; &nbsp; &nbsp;rev="5.0.1" &nbsp; &nbsp; \
&nbsp; &nbsp; &nbsp; transitive="false"/&gt;</div></div><div><br></div><div>These are \
the libraries that have been moved into plugin.</div> <div><br></div></div><div \
class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 7, 2014 at 1:08 PM, \
Matthew Burgess <span dir="ltr">&lt;<a href="mailto:mattyb149@gmail.com" \
target="_blank">mattyb149@gmail.com</a>&gt;</span> wrote:<br> <blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div \
style="font-size:14px;font-family:Calibri,sans-serif;word-wrap:break-word"><div>Ah, I \
see what you mean, we've done something similar for logging in 5.0. &nbsp;Matt C, can \
you review and comment on the inclusion of a new Kettle core plugin?</div> \
<div><br></div><div>Thanks,</div><div>Matt</div><div><br></div><span><div \
style="border-right:medium \
none;padding-right:0in;padding-left:0in;padding-top:3pt;text-align:left;font-size:11pt;border-bottom:medium \
none;font-family:Calibri;border-top:#b5c4df 1pt \
solid;padding-bottom:0in;border-left:medium none"> <div class=""><span \
style="font-weight:bold">From: </span> Evgeny Minkevich &lt;<a \
href="mailto:evgeny.minkevich@gmail.com" \
target="_blank">evgeny.minkevich@gmail.com</a>&gt;<br><span \
style="font-weight:bold">Reply-To: </span> &lt;<a \
href="mailto:kettle-developers@googlegroups.com" \
target="_blank">kettle-developers@googlegroups.com</a>&gt;<br> </div><span \
style="font-weight:bold">Date: </span> Thursday, March 6, 2014 at 8:53 PM<div><div \
class="h5"><br><span style="font-weight:bold">To: </span> &lt;<a \
href="mailto:kettle-developers@googlegroups.com" \
target="_blank">kettle-developers@googlegroups.com</a>&gt;<br> <span \
style="font-weight:bold">Subject: </span> Re: [kettle-developers] Re: Overriding \
plugin classloader via Annotations?<br></div></div></div><div><div \
class="h5"><div><br></div><div dir="ltr">Sure - that's the plan. I would like to do a \
proper implementation (including variables, globals, flexible editing) for the latest \
version version of drools - 6.0.<div> <br></div><div>The problem is that while the \
existing version (5.0) is part of the core PDI - it is not possible &nbsp;- drools \
intialises itseld in a way that conflicts with plug in classloaders). That's why I \
suggested to move the _existing_ version (5.0) to be a plug in &nbsp;as well \
-&nbsp;<a href="https://github.com/pentaho/pentaho-kettle/pull/272" \
style="font-size:13px;color:rgb(102,102,51);text-decoration:none;font-family:Arial,Fre \
eSans,Helvetica,sans-serif;line-height:17.00010108947754px;background-color:rgb(240,240,240)" \
target="_blank">https://github.com/pentaho/pentaho-kettle/pull/272</a>&nbsp;- just to \
preserve backward compatibility for those who might be using it.</div> \
<div><br></div><div>If the pull request is accepted I'll start on drools 6 as a plug \
in which will be distributed through a market place.</div><div><br></div><div>Two \
versions can coexist if they are both plugins.</div> <div><br></div><div>Any help in \
promoting the abovementioned pull request is \
appreciated.</div><div><br></div><div><br></div><div><br></div><div><br></div><div>&nbsp;<br><div><br></div></div></div><div \
class="gmail_extra"><br> <br><div class="gmail_quote">On Fri, Mar 7, 2014 at 12:18 \
PM, Matthew Burgess <span dir="ltr">&lt;<a href="mailto:mattyb149@gmail.com" \
target="_blank">mattyb149@gmail.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"> <div \
style="font-size:14px;font-family:Calibri,sans-serif;word-wrap:break-word"><div>This \
is a good idea as a plugin, thanks very much for your contribution! However we are \
encouraging contributors to add their plugins to the PDI Marketplace (hosting their \
own code and distribution, rather than in the pentaho-kettle GitHub project) to keep \
the size of the core product to a minimum and put the power back in the hands of the \
user as to which plugins are installed and so forth.</div> <div><br></div><div>I \
meant to respond earlier to this and for that I apologize; I offer my help in getting \
you set up to deliver the plugin to the PDI Marketplace so we can all benefit from \
your contribution!</div><div><br> \
</div><div>Cheers,</div><div>Matt(B)</div><div><br></div><span><div \
style="border-right:medium \
none;padding-right:0in;padding-left:0in;padding-top:3pt;text-align:left;font-size:11pt;border-bottom:medium \
none;font-family:Calibri;border-top:#b5c4df 1pt \
solid;padding-bottom:0in;border-left:medium none"> <span \
style="font-weight:bold">From: </span> Evgeny Minkevich &lt;<a \
href="mailto:evgeny.minkevich@gmail.com" \
target="_blank">evgeny.minkevich@gmail.com</a>&gt;<br><span \
style="font-weight:bold">Reply-To: </span> &lt;<a \
href="mailto:kettle-developers@googlegroups.com" \
target="_blank">kettle-developers@googlegroups.com</a>&gt;<br> <span \
style="font-weight:bold">Date: </span> Thursday, March 6, 2014 at 7:55 PM<br><span \
style="font-weight:bold">To: </span> &lt;<a \
href="mailto:kettle-developers@googlegroups.com" \
target="_blank">kettle-developers@googlegroups.com</a>&gt;<br> <span \
style="font-weight:bold">Subject: </span> Re: [kettle-developers] Re: Overriding \
plugin classloader via Annotations?<br></div><div><div><div><br></div><div \
dir="ltr">Had a look at the patch - good option to have indeed, thank you.<div> \
<br></div><div>Would you have a minute to check the Drools library mess (<a \
href="http://jira.pentaho.com/browse/PDI-10657" \
target="_blank">http://jira.pentaho.com/browse/PDI-10657</a>) \
?</div><div><br></div><div>As the in-place upgrade did not work I converted the Rules \
Executor/Accumulator steps into a plugin. This way the DROOLS dependencies will be \
isolated from the downstream projects. Yes they will need to be explicitly defined in \
the downstream projects. But that will allow us to untangle them (i.e. modeller) from \
the PDI implementation and allow me to upgrade the DROOLS version to the recent \
release.</div> <div><br></div><div>Would much appreciate some help in that \
regard.</div><div><br></div><div>Thanks.</div><div><br></div><div>&nbsp;</div></div><div \
class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 7, 2014 at 11:05 AM, \
Matt Casters <span dir="ltr">&lt;<a href="mailto:mattcasters@gmail.com" \
target="_blank">mattcasters@gmail.com</a>&gt;</span> wrote:<br> <blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr">Hi Evgeny,<div><br></div><div>I don't know \
what exactly you were asking for but we had a requirement to allow multiple plugins \
to use the same class loader.</div> <div>So we added&nbsp;<a \
href="http://jira.pentaho.com/browse/PDI-11612" \
target="_blank">http://jira.pentaho.com/browse/PDI-11612</a></div><div><br></div><div>If \
there are other tweaks you need, this might be a great time to bring them \
forward.</div> <div><br></div><div>Happy \
hacking,<br><br>Matt</div><div><div><div><br><br>On Saturday, February 1, 2014 \
9:15:34 AM UTC+1, Evgeny Minkevich wrote:<blockquote class="gmail_quote" \
style="margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex"> <div \
dir="ltr">Hi,<div><br></div><div>is there a way to enforce overriding classloader for \
a plugin through annotations?</div><div><br></div><div>Or the plugin.xml is the only \
way to go?</div></div></blockquote></div></div> </div></div><div><div><p></p>

-- <br>
You received this message because you are subscribed to the Google Groups \
"kettle-developers" group.<br> To unsubscribe from this group and stop receiving \
emails from it, send an email to <a \
href="mailto:kettle-developers+unsubscribe@googlegroups.com" \
target="_blank">kettle-developers+unsubscribe@googlegroups.com</a>.<br> To post to \
this group, send email to <a href="mailto:kettle-developers@googlegroups.com" \
target="_blank">kettle-developers@googlegroups.com</a>.<br> Visit this group at <a \
href="http://groups.google.com/group/kettle-developers" \
target="_blank">http://groups.google.com/group/kettle-developers</a>.<br></div></div> \
For more options, visit <a href="https://groups.google.com/d/optout" \
target="_blank">https://groups.google.com/d/optout</a>.<br></blockquote></div><br></div><p></p>


-- <br>
You received this message because you are subscribed to the Google Groups \
"kettle-developers" group.<br> To unsubscribe from this group and stop receiving \
emails from it, send an email to <a \
href="mailto:kettle-developers+unsubscribe@googlegroups.com" \
target="_blank">kettle-developers+unsubscribe@googlegroups.com</a>.<br> To post to \
this group, send email to <a href="mailto:kettle-developers@googlegroups.com" \
target="_blank">kettle-developers@googlegroups.com</a>.<br> Visit this group at <a \
href="http://groups.google.com/group/kettle-developers" \
target="_blank">http://groups.google.com/group/kettle-developers</a>.<br> For more \
options, visit <a href="https://groups.google.com/d/optout" \
target="_blank">https://groups.google.com/d/optout</a>.<br></div></div></span></div><div><div><p></p>


-- <br>
You received this message because you are subscribed to the Google Groups \
"kettle-developers" group.<br> To unsubscribe from this group and stop receiving \
emails from it, send an email to <a \
href="mailto:kettle-developers+unsubscribe@googlegroups.com" \
target="_blank">kettle-developers+unsubscribe@googlegroups.com</a>.<br> To post to \
this group, send email to <a href="mailto:kettle-developers@googlegroups.com" \
target="_blank">kettle-developers@googlegroups.com</a>.<br> Visit this group at <a \
href="http://groups.google.com/group/kettle-developers" \
target="_blank">http://groups.google.com/group/kettle-developers</a>.<br> For more \
options, visit <a href="https://groups.google.com/d/optout" \
target="_blank">https://groups.google.com/d/optout</a>.<br></div></div></blockquote></div><br></div><p></p>


-- <br>
You received this message because you are subscribed to the Google Groups \
"kettle-developers" group.<br> To unsubscribe from this group and stop receiving \
emails from it, send an email to <a \
href="mailto:kettle-developers+unsubscribe@googlegroups.com" \
target="_blank">kettle-developers+unsubscribe@googlegroups.com</a>.<br> To post to \
this group, send email to <a href="mailto:kettle-developers@googlegroups.com" \
target="_blank">kettle-developers@googlegroups.com</a>.<br> Visit this group at <a \
href="http://groups.google.com/group/kettle-developers" \
target="_blank">http://groups.google.com/group/kettle-developers</a>.<br> For more \
options, visit <a href="https://groups.google.com/d/optout" \
target="_blank">https://groups.google.com/d/optout</a>.<br></div></div></span></div><div \
class="HOEnZb"><div class="h5">

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups \
"kettle-developers" group.<br> To unsubscribe from this group and stop receiving \
emails from it, send an email to <a \
href="mailto:kettle-developers+unsubscribe@googlegroups.com" \
target="_blank">kettle-developers+unsubscribe@googlegroups.com</a>.<br> To post to \
this group, send email to <a href="mailto:kettle-developers@googlegroups.com" \
target="_blank">kettle-developers@googlegroups.com</a>.<br> Visit this group at <a \
href="http://groups.google.com/group/kettle-developers" \
target="_blank">http://groups.google.com/group/kettle-developers</a>.<br> For more \
options, visit <a href="https://groups.google.com/d/optout" \
target="_blank">https://groups.google.com/d/optout</a>.<br> \
</div></div></blockquote></div><br></div>

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups \
"kettle-developers" group.<br> To unsubscribe from this group and stop receiving \
emails from it, send an email to <a \
href="mailto:kettle-developers+unsubscribe@googlegroups.com">kettle-developers+unsubscribe@googlegroups.com</a>.<br>
 To post to this group, send email to <a \
href="mailto:kettle-developers@googlegroups.com">kettle-developers@googlegroups.com</a>.<br>
 Visit this group at <a \
href="http://groups.google.com/group/kettle-developers">http://groups.google.com/group/kettle-developers</a>.<br>
 For more options, visit <a \
href="https://groups.google.com/d/optout">https://groups.google.com/d/optout</a>.<br> \
</div></blockquote></body></html>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups \
&quot;kettle-developers&quot; group.<br /> To unsubscribe from this group and stop \
receiving emails from it, send an email to <a \
href="mailto:kettle-developers+unsubscribe@googlegroups.com">kettle-developers+unsubscribe@googlegroups.com</a>.<br \
/> To post to this group, send email to <a \
href="mailto:kettle-developers@googlegroups.com">kettle-developers@googlegroups.com</a>.<br \
/> Visit this group at <a \
href="http://groups.google.com/group/kettle-developers">http://groups.google.com/group/kettle-developers</a>.<br \
/> For more options, visit <a \
href="https://groups.google.com/d/optout">https://groups.google.com/d/optout</a>.<br \
/>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic