]> source.dussan.org Git - vaadin-framework.git/commitdiff
List also differences between packaged Vaadin JARs.
authorMarko Grönroos <magi@iki.fi>
Mon, 5 Oct 2009 14:27:20 +0000 (14:27 +0000)
committerMarko Grönroos <magi@iki.fi>
Mon, 5 Oct 2009 14:27:20 +0000 (14:27 +0000)
svn changeset:9084/svn branch:6.1

build/bin/package-diff.py

index 74ca550aa03e9b025c3584d24bad021c39b4275a..7b4e903b282d8c52ce851eb9f10197adeb667203 100755 (executable)
@@ -56,6 +56,36 @@ def diffFiles(a, b):
        difffiles.sort()
        return difffiles
 
+################################################################################
+# Lists files inside a Zip file (a JAR)
+################################################################################
+def listZipFiles(zipfile):
+       # Read the zip content listing
+       pin = os.popen("unzip -ql %s" % zipfile, "r")
+       lines = map(lambda x: x[:-1], pin.readlines())
+       pin.close()
+
+       # Determine the position of file names
+       namepos = lines[0].find("Name")
+       files = []
+       for i in xrange(2, len(lines)-2):
+               filename = lines[i][namepos:]
+               files.append(filename)
+
+       return files
+
+################################################################################
+# Lists files inside a Vaadin Jar inside a Tar
+################################################################################
+def listTarVaadinJarFiles(tarfile, vaadinversion):
+       jarfile = "vaadin-linux-%s/WebContent/vaadin-%s.jar" % (vaadinversion, vaadinversion)
+       extractedjar = "/tmp/vaadinjar-tmp-%d.jar" % (os.getpid())
+       tarcmd = "tar zOxf %s %s > %s " % (tarfile, jarfile, extractedjar)
+       command (tarcmd)
+       files = listZipFiles(extractedjar)
+       command ("rm %s" % (extractedjar))
+       return files
+
 ################################################################################
 #
 ################################################################################
@@ -110,5 +140,20 @@ print "\n%d removed files:" % (len(removed))
 for item in removed:
        print item
 
+latestJarFiles = listTarVaadinJarFiles(locallinuxpackage, latestversion)
+builtJarFiles  = listTarVaadinJarFiles(builtpackage,      builtversion)
+
+# New files
+newfiles = diffFiles(builtJarFiles, latestJarFiles)
+print "\n%d new files:" % (len(newfiles))
+for item in newfiles:
+       print item
+
+# Removed files
+removed = diffFiles(latestJarFiles, builtJarFiles)
+print "\n%d removed files:" % (len(removed))
+for item in removed:
+       print item
+
 # Purge downloaded package
 command("rm %s" % (locallinuxpackage))