No commit activity in last 3 years
No release in over 3 years
An utility for comparing content of ZIP files. It does not extract the files anywhere, its's using instead ZIP::ZipFile class from rubyzip gem which enables to access ZIP files like a file system. It uses MD5 to compare files.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 0.9.1
 Project Readme

Zip File Content Comparator¶ ↑

An utility for comparing content of ZIP files. It does not extract the files anywhere, its’s using instead ZIP::ZipFile class from rubyzip gem which enables to access ZIP files like a file system. It uses MD5 to compare files.

Use Case¶ ↑

It was written to compare JAR files to determine if it is necessary to deploy (upload) them to a Java Webstart directory. Specific files, which changed every build, contained in JAR files where ignored, which allowed to spot JAR files which are the same for the end user and chose not to deploy them. This saved the end user some downloading and reduced the server load.

For more info see documentation for #compare and #identical? methods.

Example:¶ ↑

# using the #compare method:
identical_files, different_files = ZipContentComparator.compare('old_build/myapp.jar','new_build/myapp.jar')
list_of_changed_class_files = different_files.detect{ |file| file =~ /.class$/ } || []
# using the #identical? method:
ZipContentComparator.identical?('old_build/myapp.jar','new_build/myapp.jar', :detect_pattern => /.class$/)

See the source code if you want to use other methods of this class.

Author

Szymon (jeznet) Jeż <szymon[at]jez[dot]netpl>

Hints¶ ↑

  • To generate the documentation for this project use: rake rdoc

  • All test files which have real test should be included in the test_suite.rb file

  • The test_suite.rb is the default Test suite and is tested in ‘rake test` command