Hmmm you might have to have the namespace be the FQCN of the TagLibrary
implementation, eg see MorphTagLibrary in core... digging some more


On 3 July 2014 10:38, Stephen Connolly <[email protected]>
wrote:

> Also you probably need to add the annotation
>
> @org.kohsuke.stapler.jelly.groovy.TagLibraryUri("/shim/layout")
>
>
> On 3 July 2014 10:37, Stephen Connolly <[email protected]>
> wrote:
>
>> I suspect one thing could be that your class name is IconsTaglib and
>> not IconsTagLib
>>
>>
>> On 3 July 2014 10:35, Stephen Connolly <[email protected]>
>> wrote:
>>
>>> Well I suspect that you need to inform jelly of the TagLibrary class or
>>> else it will not discover it. I am suspecting that there is a plugin goal
>>> putting the requisite info somewhere on the classpath. That plugin goal is
>>> probably working for jenkins core but perhaps not by default in plugins
>>>
>>>
>>> On 3 July 2014 09:56, Tom Fennelly <[email protected]> wrote:
>>>
>>>>  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]> 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].
>>>>> 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].
>>>>
>>>> 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.
>>>>
>>>
>>>
>>
>

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

Reply via email to