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] <mailto:[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]
    <mailto:[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]
        <mailto:[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]
            <mailto:[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]
                <mailto:[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]
                    <mailto:[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]
                        <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]
                        <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]
    <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.

Reply via email to