I'm using the name consistently - the name was resolvable when in core.

I tried to generalize the description of the problem in the email, but forgot to rename the TagLibrary impl class to from IconsTaglib to MyFunkyTaglib. Sorry about that... should have just left as is :)

On 03/07/2014 10:37, Stephen Connolly 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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to