tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Konstantin Kolinko <knst.koli...@gmail.com>
Subject Re: svn commit: r1570115 - in /tomcat/tc7.0.x/trunk: ./ build.xml webapps/docs/changelog.xml
Date Fri, 21 Feb 2014 15:35:32 GMT
2014-02-20 13:53 GMT+04:00 Konstantin Kolinko <knst.kolinko@gmail.com>:
> 2014-02-20 13:26 GMT+04:00 Mark Thomas <markt@apache.org>:
>> On 20/02/2014 09:10, Konstantin Kolinko wrote:
>>> 2014-02-20 13:04 GMT+04:00  <markt@apache.org>:
>>>> Author: markt
>>>> Date: Thu Feb 20 09:04:52 2014
>>>> New Revision: 1570115
>>>>
>>>> URL: http://svn.apache.org/r1570115
>>>> Log:
>>>> Simplify patternsets where possible
>>>> Avoid pattern sets ending in "/*" as much as possible as they usually result
in JARs containing empty packages with the contents of the package in a different JAR
>>>>
>>>> Modified:
>>>>     tomcat/tc7.0.x/trunk/   (props changed)
>>>>     tomcat/tc7.0.x/trunk/build.xml
>>>>     tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
>>>>
>>>> Propchange: tomcat/tc7.0.x/trunk/
>>>> ------------------------------------------------------------------------------
>>>>   Merged /tomcat/trunk:r1570114
>>>>
>>>> Modified: tomcat/tc7.0.x/trunk/build.xml
>>>> URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/build.xml?rev=1570115&r1=1570114&r2=1570115&view=diff
>>>> ==============================================================================
>>>> --- tomcat/tc7.0.x/trunk/build.xml (original)
>>>> +++ tomcat/tc7.0.x/trunk/build.xml Thu Feb 20 09:04:52 2014
>>>> @@ -277,20 +277,18 @@
>>>>    <!-- ========= Pattern sets used to control content of JAR files =========
-->
>>>>    <!-- Pattern sets for jar files in standard distributions -->
>>>>    <patternset id="files.annotations-api">
>>>> -    <include name="javax/annotation/*" />
>>>> -    <include name="javax/annotation/security/*" />
>>>> -    <include name="javax/annotation/sql/*" />
>>>> -    <include name="javax/ejb/*" />
>>>> -    <include name="javax/persistence/*" />
>>>> -    <include name="javax/xml/ws/*" />
>>>> +    <include name="javax/annotation/**" />
>>>> +    <include name="javax/ejb/**" />
>>>> +    <include name="javax/persistence/**" />
>>>> +    <include name="javax/xml/ws/**" />
>>>>    </patternset>
>>>>
>>>>    <patternset id="files.servlet-api">
>>>> -    <include name="javax/servlet/*" />
>>>> -    <include name="javax/servlet/annotation/*" />
>>>> -    <include name="javax/servlet/descriptor/*" />
>>>> -    <include name="javax/servlet/http/*" />
>>>> -    <include name="javax/servlet/resources/*" />
>>>> +    <include name="javax/servlet/*.class" />
>>>
>>> I do not like these *.class patterns.
>>>
>>> I think occasionally having an empty package is less evil than missing
>>> a *.properties file.
>>
>> Empty packages might cause issues when we start signing JARs. I know you
>> can't have classes from the same package in different signed JARs. I'm
>> not sure about empty packages.
>
> IIRC from looking into WebappClassLoader a month ago, processing of
> certificates is triggered by having found a *.class. If there is no
> class file there, it is not triggered.
>
>> We can always add a *.properties pattern to those patternsets.
>>
>
> There might also be *.xml  (mbeans-descriptors.xml,
> \storeconfig\server-registry.xml).
>
> The rest are in their special packages (antlib.xml, *.tasks,
> tagPlugins.xml, *.dtd, *.xsd).
>
> *.html, *.gif, *.jjt are there, but are needed in the source only.  Be
> sure to pack them into *src zips.
>

-1 (veto)  to r1570115 and followups.

You are using the same pattern to pack source jars.

    <jarIt jarfile="${servlet-api-src.jar}"
      filesDir="java"
      filesId="files.servlet-api"
      manifest="${tomcat.manifests}/servlet-api.jar.manifest"
      notice="${tomcat.manifests}/servlet-api.jar.notice"
      license="${tomcat.manifests}/servlet-api.jar.license" />

Thus specifying specific file extensions such as *.class, *.properties
will leave some valuable files.from the sources jars.

For example, javax\servlet\package.html

Furthermore, currently *.java files are missing.

For example:
1. Run "ant package-src-jar"
2. In output/src-jars/servlet-api-src.jar
There are no *.java files in javax\servlet\ subdirectory.

As I mentioned, I think that empty packages won't prevent code
signing. If they are, I'd better deal with this when it happens.
(Could there be an option in jar task or resources collection in Ant
to skip empty directories when creating the jar file?)

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message