tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 53032] New: Ant Jasper task fails to run when using XML namespaces; no output; no errors
Date Tue, 03 Apr 2012 21:41:35 GMT
https://issues.apache.org/bugzilla/show_bug.cgi?id=53032

             Bug #: 53032
           Summary: Ant Jasper task fails to run when using XML
                    namespaces; no output; no errors
           Product: Tomcat 6
           Version: 6.0.35
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Jasper
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: nicholas@nicholaswilliams.net
    Classification: Unclassified


One way to use bulk task definitions in Ant is to use XML namespaces:


<project name="teamcity"
         xmlns:tomcat6="http://tomcat.apache.org/ant/tomcat/6">

...


    <path id="tomcat.6.ant.classpath">
        <fileset dir="${my.path.library.build}/tomcat-6.0.35">
            <include name="*.jar" />
        </fileset>
        <path refid="my.path.compile.jsp" />
    </path>

    <typedef resource="org/apache/catalina/ant/antlib.xml"
             uri="http://tomcat.apache.org/ant/tomcat/6"
             classpathref="tomcat.6.ant.classpath" />

...

    <target>
        <tomcat6:list ... />
        <tomcat6:deploy ... />
    </target>

...
</project>

This works great for list, deploy, etc. In fact, it works great for every other
Ant task as far as I can tell. But it doesn't work for the jasper/jasper2 tasks
(which both point to the same class).

<tomcat6:jasper ... />

This does nothing. And by “nothing” I mean that I use `ant -verbose` when
running Ant, verbose=”1” within the Jasper task, and there’s no output from the
Jasper task, not a single line of output/logging, and the build completes in 0
seconds with no compiled JSPs output.

However, if I define the Jasper task explicitly, using the exact same paths (as
you can clearly see):

    <taskdef classname="org.apache.jasper.JspC" name="tomcat6-jsp-compile">
        <classpath>
            <path refid="tomcat.6.ant.classpath" />
        </classpath>
    </taskdef>

And call the Jasper task using the exact same options:

<tomcat6-jsp-compile ... />

Everything works. It compiles 2,487 JSPs in 275s, and outputs exactly what I
expect, including 2,487 compiled JSPs and two logging messages. From what I
understand about Ant, there should be absolutely no difference, and yet there
apparently is, because they behave differently.

The jasper task should support namespaces like the other Tomcat Ant tasks, and
like other Ant tasks in general.

(Note: I have confirmed at http://ant.apache.org/faq.html that a separate
classloader IS used for the taskdef, and that Jspc will not have access to
conflicting classes loaded by other namespaces.)

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message