diff options
Diffstat (limited to 'build/bin/package-diff.py')
-rw-r--r-- | build/bin/package-diff.py | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/build/bin/package-diff.py b/build/bin/package-diff.py deleted file mode 100644 index 27f1ade771..0000000000 --- a/build/bin/package-diff.py +++ /dev/null @@ -1,140 +0,0 @@ -#!/usr/bin/python - -import sys,os,re -from sets import Set - -################################################################################ -# Configuration -################################################################################ -downloadsite = "http://vaadin.com/download" -latestfile = "/release/6.8/LATEST" - -JAPIZE = "japize" -JAPICOMPAT = "japicompat" - -################################################################################ -# Utility Functions -################################################################################ -def command(cmd, dryrun=0): - if not dryrun: - if os.system(cmd): - print "Command '%s' failed, exiting." % (cmd) - sys.exit(1) - else: - print "Dry run - not executing." - -################################################################################ -# Difference of two lists of files -################################################################################ -def diffFiles(a, b): - diff = Set(a).difference(Set(b)) - difffiles = [] - for item in diff: - difffiles.append(item) - difffiles.sort() - return difffiles - -################################################################################ -# Lists files inside a Zip file (a JAR) -################################################################################ -def listJarFiles(jarfile): - # Read the jar content listing - pin = os.popen("unzip -ql %s" % jarfile, "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 - -################################################################################ -# JAPI - Java API Differences -################################################################################ -def japize(version, jarfile): - cmd = "%s as %s apis %s +com.vaadin, $JAVA_HOME/jre/lib/rt.jar 2>/dev/null" % (JAPIZE, version, jarfile) - command (cmd) - - return "%s.japi.gz" % (version) - -def japicompat(japi1, japi2): - cmd = "%s -q %s %s" % (JAPICOMPAT, japi1, japi2) - pin = os.popen(cmd, "r") - lines = "".join(pin.readlines()) - pin.close() - return lines - -################################################################################ -# -################################################################################ - -# Download the installation package of the latest version -wgetcmd = "wget -q -O - %s" % (downloadsite+latestfile) -pin = os.popen(wgetcmd, "r") -latestdata = pin.readlines() -pin.close() - -latestversion = latestdata[0].strip() -latestpath = latestdata[1].strip() -latestURL = downloadsite + "/" + latestpath + "/" - -latestfilename = "vaadin-%s.jar" % (latestversion) -latestpackage = latestURL + latestfilename -locallatestpackage = "/tmp/%s" % (latestfilename) - -print "Latest version: %s" % (latestversion) -print "Latest version path: %s" % (latestpath) -print "Latest version URL: %s" % (latestURL) - -# Check if it already exists -try: - os.stat(locallatestpackage) - print "Latest package already exists in %s" % (locallatestpackage) - # File exists -except OSError: - # File does not exist, get it. - print "Downloading latest release package %s to %s" % (latestpackage, locallatestpackage) - wgetcmd = "wget -q -O %s %s" % (locallatestpackage, latestpackage) - command (wgetcmd) - -# List files in built version. -builtversion = sys.argv[1] -builtpackage = "build/result/vaadin-%s/WebContent/WEB-INF/lib/vaadin-%s.jar" % (builtversion, builtversion) - -# Report differences - -print "\n--------------------------------------------------------------------------------\nVaadin JAR differences" - -latestJarFiles = listJarFiles(locallatestpackage) -builtJarFiles = listJarFiles(builtpackage) - -# 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 - -print "\n--------------------------------------------------------------------------------\nVaadin API differences" -oldjapi = japize(latestversion, locallatestpackage) -newjapi = japize(builtversion, builtpackage) - -print "\n--------------------------------------------------------------------------------\nLost API features\n" -japidiff1 = japicompat(oldjapi, newjapi) -print japidiff1 - -print "\n--------------------------------------------------------------------------------\nNew API features\n" -japidiff2 = japicompat(newjapi, oldjapi) -print japidiff2 - -# Purge downloaded package -command("rm %s" % (locallatestpackage)) |