diff options
Diffstat (limited to 'distribution/bin/makejspackages.py')
-rwxr-xr-x | distribution/bin/makejspackages.py | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/distribution/bin/makejspackages.py b/distribution/bin/makejspackages.py new file mode 100755 index 00000000000..5e88edb9188 --- /dev/null +++ b/distribution/bin/makejspackages.py @@ -0,0 +1,134 @@ +#!/usr/bin/env python +# ********************************************************************** +# +# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. +# +# This copy of Ice is licensed to you under the terms described in the +# ICE_LICENSE file included in this distribution. +# +# ********************************************************************** + +import os, sys, fnmatch, re, getopt, atexit, shutil, subprocess, json + +sys.path.append(os.path.join(os.path.dirname(__file__), "..", "lib")) +from DistUtils import * + +# +# Program usage. +# +def usage(): + print + print "Options:" + print "-h Show this message." + print "-v Be verbose." + print "Example:" + print "" + print "makejspackages.py" + print + +def runCommand(cmd): + print(cmd) + if os.system(cmd) != 0: + sys.exit(1) + + +os.chdir(os.path.join(os.path.dirname(__file__), "..", "..")) +if not os.path.isfile("Ice-@ver@.tar.gz"): + print("Could not find Ice-@ver@.tar.gz") + sys.exit(1) + +thirdPartyPackage = "ThirdParty-Sources-@ver@" +downloadUrl = "http://www.zeroc.com/download/Ice/3.6/" + +if not os.path.isfile(os.path.expanduser("~/Downloads/%s.tar.gz" % thirdPartyPackage)): + runCommand(os.path.expanduser("cd ~/Downloads && wget http://www.zeroc.com/download/Ice/3.6/%s.tar.gz" % thirdPartyPackage)) + +runCommand(os.path.expanduser( + "rm -rf %(thirdParty)s && tar zxf ~/Downloads/%(thirdParty)s.tar.gz && cd %(thirdParty)s && tar zxf mcpp-2.7.2.tar.gz && " + "cd mcpp-2.7.2 && patch -p0 < ../mcpp/patch.mcpp.2.7.2" % {"thirdParty": thirdPartyPackage})) + +runCommand("tar zxf Ice-@ver@.tar.gz") +for d in ["IceUtil", "Slice", "slice2js"]: + runCommand("cd Ice-@ver@/cpp/src/%s && make -j8" % d) +runCommand("cd Ice-@ver@/js && npm install && npm run gulp:dist") + + +packages = ["zeroc-icejs", "icejs-demos", "zeroc-slice2js", "gulp-zeroc-slice2js"] +# +# Clone package git repositories +# +runCommand("rm -rf packages && mkdir packages") +for repo in packages: + runCommand("cd packages && git clone ssh://dev.zeroc.com/home/git/%(repo)s.git" % {"repo": repo}) + runCommand("cd packages/%(repo)s && git remote add github git@github.com:ZeroC-Inc/%(repo)s.git" % {"repo": repo}) + runCommand("cd packages/%(repo)s && git config user.name 'ZeroC, Inc'" % {"repo": repo}) + runCommand("cd packages/%(repo)s && git config user.email 'github@zeroc.com'" % {"repo": repo}) + runCommand("cd packages/%(repo)s && rm -rf *" % {"repo": repo}) + +for package in packages: + # + # copy dist files to repositories + # + runCommand("cp -rf distfiles-@ver@/src/js/%(package)s/* packages/%(package)s/" % {"package": package}) + + # + # copy license files to each package + # + for f in ["LICENSE", "ICE_LICENSE"]: + copy("Ice-@ver@/%(file)s" % {"file": f}, + "packages/%(package)s/%(file)s" % {"package": package, "file": f}) + + +# +# zeroc-slice2js package +# +copy("%s/mcpp-2.7.2/src" % thirdPartyPackage, "packages/zeroc-slice2js/mcpp/src") + +for d in ["IceUtil", "Slice", "slice2js"]: + copyMatchingFiles(os.path.join("Ice-@ver@/cpp/src", d), os.path.join("packages/zeroc-slice2js/src", d), ["*.cpp", "*.h"]) + +for d in ["IceUtil", "Slice"]: + copyMatchingFiles(os.path.join("Ice-@ver@/cpp/include", d), os.path.join("packages/zeroc-slice2js/include", d), ["*.h"]) + +for d in ["Glacier2", "Ice", "IceGrid", "IceSSL", "IceStorm"]: + copyMatchingFiles(os.path.join("Ice-@ver@/slice", d), os.path.join("packages/zeroc-slice2js/slice", d), ["*.ice"]) + +copy("distfiles-3.6b/src/unix/MCPP_LICENSE", "packages/zeroc-slice2js/MCPP_LICENSE") + +# +# gulp-zeroc-slice2js package +# +copy("Ice-@ver@/js/gulp/gulp-slice2js/index.js", "packages/gulp-zeroc-slice2js/index.js") + +# +# zeroc-icejs package +# +for d in ["Ice", "Glacier2", "IceStorm", "IceGrid"]: + copyMatchingFiles(os.path.join("Ice-@ver@/js/src", d), os.path.join("packages/zeroc-icejs/src", d), ["*.js"]) +copy("Ice-@ver@/js/src/zeroc-icejs.js", "packages/zeroc-icejs/src/zeroc-icejs.js") + +copyMatchingFiles("Ice-@ver@/js/lib", "packages/zeroc-icejs/lib", ["*.js", "*.gz"]) + +# +# zeroc-icejs-demo package +# +for f in os.listdir("Ice-@ver@/js/demo"): + if f == "README": + continue + copy(os.path.join("Ice-@ver@/js/demo", f), os.path.join("packages/icejs-demos", f)) +copy("Ice-@ver@/js/bin", "packages/icejs-demos/bin") +copy("Ice-@ver@/certs", "packages/icejs-demos/certs") +copy("Ice-@ver@/js/assets", "packages/icejs-demos/assets") +copy("Ice-@ver@/js/.jshintrc", "packages/icejs-demos/.jshintrc") + +jshint = json.load(open("Ice-@ver@/js/.jshintrc_browser", "r")) +jshintDemo = json.load(open("Ice-@ver@/js/demo/.jshintrc_browser", "r")) + +for key, value in jshintDemo["globals"].iteritems(): + jshint["globals"][key] = value +json.dump(jshint, open("packages/icejs-demos/.jshintrc_browser", "w"), indent = 4, separators=(',', ': ')) + +for package in packages: + runCommand("cd packages/%(package)s && git add . && git commit . -m '%(package)s version @ver@'" % + {"package": package}) + |