yeah I'm just setting up some clean plugins which can be used as a test...
your hacking existing stuff is messing you up I believe



On 3 July 2014 12:46, Tom Fennelly <[email protected]> wrote:

>  I'll simplify this for the purposes of getting to the bottom of this
> particular problem i.e. create a no-op Java TagLibrary impl on the
> credentials-plugin.  What I was playing with there is ok for me, but
> confusing for someone else coz there's other stuff in there that's not
> related to this problem.
>
>
> On 03/07/2014 12:21, Stephen Connolly wrote:
>
> 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 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