]> dev.renevier.net Git - syj.git/blobdiff - scripts/release.py
add mapquest layer back
[syj.git] / scripts / release.py
index 95452004e31a7609899cb24a793661a5cc9a55fa..9a1b4d2959fc65726bdf282827dc35bbcc6147e8 100755 (executable)
@@ -5,6 +5,29 @@ __BUILD__="build"
 import shutil, os, sys, subprocess, tempfile, tarfile, glob, ConfigParser
 pathjoin = os.path.join
 
+def updateversion():
+    try:
+        version = None
+        import git
+        repo = git.Repo('.')
+        master = repo.commits()[0]
+        tag = (filter(lambda tag: tag.commit.id == master.id, repo.tags) or [""])[0]
+        if tag:
+            version = tag.name
+    except ImportError:
+        version = subprocess.Popen(['git', 'tag', '-l', '--contains', 'master'], stdout=subprocess.PIPE).communicate()[0][:-1]
+    if not version:
+        raise AssertionError, "master is not tagged"
+
+    fd, fname = tempfile.mkstemp()
+    f = os.fdopen(fd, 'w')
+    versionfile = 'build/application/Version.php'
+    with open('build/application/Version.php') as source:
+        for line in source:
+            f.write(line.replace('$SYJVERSION$', version))
+    f.close()
+    shutil.move(fname, versionfile)
+
 def compress(path):
     tmpout = tempfile.TemporaryFile()
     subprocess.Popen(['yui-compressor', path], stdout=tmpout).communicate()
@@ -17,7 +40,17 @@ def genscripts():
 
     # copy scripts OpenLayers.js
     for path in glob.glob('public/js/*.js'):
-        shutil.copy(path, tmpdir)
+        if os.path.islink(path):
+            shutil.copy(path, tmpdir)
+        else:
+            # remove "use strict"; directive
+            with open(path) as inp:
+                dest = pathjoin(tmpdir, os.path.basename(path))
+                with open(dest, "w") as out:
+                    for line in inp:
+                        sline = line.strip()
+                        if sline != '"use strict"' and sline != '"use strict";':
+                            out.write(line)
 
     # build OpenLayers.js
     subprocess.call(['python', 'buildUncompressed.py',
@@ -88,6 +121,8 @@ def main():
 
             install(source, target)
 
+    updateversion()
+
     print "creating syj.tar.gz"
     targz = tarfile.open("build/syj.tar.gz", "w:gz")
     for path in glob.glob(pathjoin(__BUILD__, '*')):