Refactored mergejs.py to make it possible to call from other Python scripts.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@2097 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Executable
+27
@@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import sys
|
||||||
|
sys.path.append("../tools")
|
||||||
|
|
||||||
|
import jsmin, mergejs
|
||||||
|
|
||||||
|
sourceDirectory = "../lib"
|
||||||
|
configFilename = "library.cfg"
|
||||||
|
outputFilename = "OpenLayers.js"
|
||||||
|
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
configFilename = sys.argv[1] + ".cfg"
|
||||||
|
if len(sys.argv) > 2:
|
||||||
|
outputFilename = sys.argv[2]
|
||||||
|
|
||||||
|
print "Adding license file."
|
||||||
|
merged = file("license.txt").read()
|
||||||
|
print "Merging libraries."
|
||||||
|
merged += mergejs.run(sourceDirectory, None, configFilename)
|
||||||
|
print "Compressing."
|
||||||
|
minimized = jsmin.jsmin(merged)
|
||||||
|
|
||||||
|
print "Writing to %s." % outputFilename
|
||||||
|
file(outputFilename, "w").write(minimized)
|
||||||
|
|
||||||
|
print "Done."
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
#
|
|
||||||
# Script to build compressed single file version of OpenLayers library
|
|
||||||
#
|
|
||||||
|
|
||||||
OUTPUT_FILENAME=OpenLayers.js
|
|
||||||
TMP_OUTPUT_FILENAME=tmp.${OUTPUT_FILENAME}
|
|
||||||
|
|
||||||
TOOLS_DIR=../tools
|
|
||||||
|
|
||||||
if [ "$1" != "" ]; then
|
|
||||||
CFG_FILENAME="$1.cfg"
|
|
||||||
else
|
|
||||||
CFG_FILENAME=library.cfg
|
|
||||||
fi
|
|
||||||
|
|
||||||
SRC_DIR=../lib
|
|
||||||
|
|
||||||
CMD_MERGE_JS=${TOOLS_DIR}/mergejs.py
|
|
||||||
|
|
||||||
CMD_SHRINKSAFE=${TOOLS_DIR}/shrinksafe.py
|
|
||||||
CMD_JSMIN=${TOOLS_DIR}/jsmin.py
|
|
||||||
|
|
||||||
LICENSE_HEADER_FILENAME=license.txt
|
|
||||||
|
|
||||||
|
|
||||||
## Generate "fat" single file library version
|
|
||||||
${CMD_MERGE_JS} -c ${CFG_FILENAME} ${TMP_OUTPUT_FILENAME} ${SRC_DIR}
|
|
||||||
|
|
||||||
|
|
||||||
## Compress ("shrink") the single file library version
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo Shrinking and post-processing...
|
|
||||||
# (We also append the license header here.)
|
|
||||||
cat ${LICENSE_HEADER_FILENAME} > ${OUTPUT_FILENAME}
|
|
||||||
${CMD_JSMIN} <${TMP_OUTPUT_FILENAME} >> ${OUTPUT_FILENAME}
|
|
||||||
|
|
||||||
echo Cleaning up...
|
|
||||||
rm $TMP_OUTPUT_FILENAME
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo Done.
|
|
||||||
+29
-23
@@ -127,28 +127,10 @@ class Config:
|
|||||||
self.include = lines[lines.index("[include]") + 1:lines.index("[exclude]")]
|
self.include = lines[lines.index("[include]") + 1:lines.index("[exclude]")]
|
||||||
self.exclude = lines[lines.index("[exclude]") + 1:]
|
self.exclude = lines[lines.index("[exclude]") + 1:]
|
||||||
|
|
||||||
if __name__ == "__main__":
|
def run (sourceDirectory, outputFilename = None, configFile = None):
|
||||||
import getopt
|
|
||||||
|
|
||||||
options, args = getopt.getopt(sys.argv[1:], "-c:")
|
|
||||||
|
|
||||||
try:
|
|
||||||
outputFilename = args[0]
|
|
||||||
except IndexError:
|
|
||||||
usage(sys.argv[0])
|
|
||||||
raise SystemExit
|
|
||||||
else:
|
|
||||||
sourceDirectory = args[1]
|
|
||||||
if not sourceDirectory:
|
|
||||||
usage(sys.argv[0])
|
|
||||||
raise SystemExit
|
|
||||||
|
|
||||||
cfg = None
|
cfg = None
|
||||||
if options and options[0][0] == "-c":
|
if configFile:
|
||||||
filename = options[0][1]
|
cfg = Config(configFile)
|
||||||
print "Parsing configuration file: %s" % filename
|
|
||||||
|
|
||||||
cfg = Config(filename)
|
|
||||||
|
|
||||||
print cfg.include
|
print cfg.include
|
||||||
allFiles = []
|
allFiles = []
|
||||||
@@ -227,6 +209,30 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
print "\nTotal files merged: %d " % len(allFiles)
|
print "\nTotal files merged: %d " % len(allFiles)
|
||||||
|
|
||||||
print "\nGenerating: %s" % (outputFilename)
|
if outputFilename:
|
||||||
|
print "\nGenerating: %s" % (outputFilename)
|
||||||
|
open(outputFilename, "w").write("".join(result))
|
||||||
|
return "".join(result)
|
||||||
|
|
||||||
open(outputFilename, "w").write("".join(result))
|
if __name__ == "__main__":
|
||||||
|
import getopt
|
||||||
|
|
||||||
|
options, args = getopt.getopt(sys.argv[1:], "-c:")
|
||||||
|
|
||||||
|
try:
|
||||||
|
outputFilename = args[0]
|
||||||
|
except IndexError:
|
||||||
|
usage(sys.argv[0])
|
||||||
|
raise SystemExit
|
||||||
|
else:
|
||||||
|
sourceDirectory = args[1]
|
||||||
|
if not sourceDirectory:
|
||||||
|
usage(sys.argv[0])
|
||||||
|
raise SystemExit
|
||||||
|
|
||||||
|
configFile = None
|
||||||
|
if options and options[0][0] == "-c":
|
||||||
|
configFile = options[0][1]
|
||||||
|
print "Parsing configuration file: %s" % filename
|
||||||
|
|
||||||
|
run( sourceDirectory, outputFilename, configFile )
|
||||||
|
|||||||
Reference in New Issue
Block a user