On 21/02/2014 15:35, Konstantin Kolinko wrote:
> 2014-02-20 13:53 GMT+04:00 Konstantin Kolinko <knst.koli...@gmail.com>:
>> 2014-02-20 13:26 GMT+04:00 Mark Thomas <ma...@apache.org>:
>>> On 20/02/2014 09:10, Konstantin Kolinko wrote:
>>>> 2014-02-20 13:04 GMT+04:00  <ma...@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.

OK. I'll see if I can come up with a better solution. If not, I'll
revert to the /* pattern that creates empty dirs.

Mark

> 
> 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-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
> 


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

Reply via email to