that's using the ui:icon taglib directly...
On 3 July 2014 12:12, Tom Fennelly <[email protected]> wrote: > Ah yes, sorry... I checked out and changed the credentials plugin... I > just pushed a branch to > https://github.com/jenkinsci/credentials-plugin/tree/icon-tag-test > > > On 03/07/2014 12:07, Stephen Connolly wrote: > > 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 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.
