xmlns:myf="jelly:org.jenkins.x.y.MyFunkyTag" is one way of doing that
and, as I said, that works when the TagLibrary impl is located in
Jenkins core (Vs out in a plugin). I didn't see any other way of doing
it. Are you telling me there is another way?
On 03/07/2014 09:46, Stephen Connolly wrote:
Do you inform jenkins that you have a taglibrary?
On 2 July 2014 23:34, Tom Fennelly <[email protected]
<mailto:[email protected]>> wrote:
Hi.
Just wondering if anyone can guide me as to how I can write a Java
based TagLibrary and have it loadable from a plugin (without
setting pluginFirstClassLoader=true). When I try it I get a
classloader exception that makes total sense to me, but I'm
wondering if there's some trick or different impl that works
around it.
Example... a Simple TagLibrary impl like this...
public class IconsTaglib extends TagLibrary {
public IconsTaglib() {
// Register some tags...
registerTag("*myFunkyTag*", MyFunkyTag.class);
}
}
This class is located in the plugin i.e. not in Jenkins core with
other taglibs.
Then in a .jelly tag script (also in the plugin, but for which
there are no cloassloading issues) we use the *myFunkyTag *tag
that was implemented in Java e.g.
<myf:myFunkyTag xmlns:myf="jelly:org.jenkins.x.y.MyFunkyTag" />
The above causes a ClassLoading exception because Jelly's
XMLParser class (code located in Jenkins - not in the plugin)
tries to load the MyFunkyTag class with the wrong classloader
(XMLParser line #1024). What looks like would work (in this
specific case at least) is if XMLParser tried using the
JellyContext ClassLoader instead, but of course that might cause
other issues.
BTW I tried with the MyFunkyTag impl located in Jenkins core and
everything works fine as expected.
Any suggestions? I'm wondering maybe this is not an issue if I
implement the Tag in Groovy instead, but would like to know if
doing it in Java is not going to work first.
Thanks,
Tom.
--
You received this message because you are subscribed to the Google
Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the
Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/jenkinsci-dev/9mEnlPmIu1c/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
[email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Jenkins
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.