More trip planner testing with colors
[busui.git] / labs / openlayers / build / build.py
blob:a/labs/openlayers/build/build.py -> blob:b/labs/openlayers/build/build.py
--- a/labs/openlayers/build/build.py
+++ b/labs/openlayers/build/build.py
@@ -1,1 +1,54 @@
+#!/usr/bin/env python
 
+import sys
+sys.path.append("../tools")
+import mergejs
+
+def build():
+    have_compressor = None
+    try:
+        import jsmin
+        have_compressor = "jsmin"
+    except ImportError:
+        try:
+            import minimize
+            have_compressor = "minimize"
+        except Exception, E:
+            print E
+            pass
+
+    sourceDirectory = "../lib"
+    configFilename = "full.cfg"
+    outputFilename = "OpenLayers.js"
+
+    if len(sys.argv) > 1:
+        configFilename = sys.argv[1]
+        extension = configFilename[-4:]
+
+        if extension  != ".cfg":
+            configFilename = sys.argv[1] + ".cfg"
+
+    if len(sys.argv) > 2:
+        outputFilename = sys.argv[2]
+
+    print "Merging libraries."
+    merged = mergejs.run(sourceDirectory, None, configFilename)
+    if have_compressor == "jsmin":
+        print "Compressing using jsmin."
+        minimized = jsmin.jsmin(merged)
+    elif have_compressor == "minimize":
+        print "Compressing using minimize."
+        minimized = minimize.minimize(merged)
+    else: # fallback
+        print "Not compressing."
+        minimized = merged 
+    print "Adding license file."
+    minimized = file("license.txt").read() + minimized
+
+    print "Writing to %s." % outputFilename
+    file(outputFilename, "w").write(minimized)
+
+    print "Done."
+
+if __name__ == '__main__':
+  build()