where's the example where you had it as a plugin and where is the example plugin using it?
On 3 July 2014 12:01, Tom Fennelly <[email protected]> wrote: > Sure: > > - Branch: https://github.com/tfennelly/jenkins/tree/icon-tag > - Taglib classes: > > https://github.com/tfennelly/jenkins/tree/icon-tag/icon/src/main/java/org/jenkins/ui/icon/taglib > - Use of in a .jelly script: > > https://github.com/tfennelly/jenkins/blob/icon-tag/icon/src/main/resources/lib/ui/icon/icon.jelly#L46 > > Thanks Stephen !! > > > On 03/07/2014 11:05, Stephen Connolly wrote: > > can you share your git repos with me so I can debug a little... or pop > into hipchat and we can chat and bring the solution back to the list once > we have one ;-) > > > On 3 July 2014 10:48, Stephen Connolly <[email protected]> > wrote: > >> 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 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.
