Review Request: 8006663: build-infra: Compare two arbitrary zip/jar files with compare.sh

Erik Joelsson erik.joelsson at oracle.com
Tue Jan 22 15:05:17 UTC 2013


Hello,

The purpose of compare.sh is to compare build output between builds to 
check that nothing changed that shouldn't have. It has been developed 
and used in the build-infra project. Several file types need extra care 
when comparing and various exceptions to be made. For example zip and 
jar files need their contents compared rather than the files. Generated 
class, java and properties files often contain timestamps or other build 
unique strings that need to be filtered. All of this is handled in 
compare.sh.

The problem in this case was that the UI available from compare.sh only 
lets you compare full build output directories. This patch adds a way to 
use the existing functionality for only 2 jar or zip files. I 
implemented it as part of converting the nashorn build to be able to 
verify that I produced an equivalent jar to the old ant build, but 
thought it would be worth pushing it in on its own.

Your suggested solution is basically what compare.sh does with a zip 
file, but doesn't handle all the exceptions and special cases specific 
to openjdk build output.

/Erik

On 2013-01-22 15:49, Dmitry Samersoff wrote:
> Erik,
>
> What is the purpose of this comparison. Is it time critical?
>
> On a brief look
>
> unzip -v>  /tmp/1
> unzip -v>  /tmp/2
> diff /tmp/1 /tmp/2
>
> do exactly the same but much much faster.
>
> Maybe I missed something.
>
> -Dmitry
>
>
> On 2013-01-22 14:03, Erik Joelsson wrote:
>> Adding functionality to compare.sh to take two zip/jar files as
>> arguments and just compare those.
>>
>> http://cr.openjdk.java.net/~erikj/8006663/webrev.root.01/
>>
>> /Erik
>



More information about the build-dev mailing list