| |
| #When run on (my) windows box, this builds and cleans everything in |
| #preparation for a release. |
| |
| import os |
| import sys |
| |
| #Replace version strings |
| if len(sys.argv)>1: |
| oldVersion = sys.argv[1] |
| newVersion = sys.argv[2] |
| query = raw_input("Replace %s with %s?: " % (oldVersion, newVersion)) |
| if query == "y": |
| #First, scan through and make sure the replacement is possible |
| for filename in ("setup.py", "tlslite\\__init__.py", "scripts\\tls.py", "scripts\\tlsdb.py"): |
| s = open(filename, "rU").read() |
| x = s.count(oldVersion) |
| if filename.endswith("__init__.py"): |
| if x != 2: |
| print "Error, old version appears in %s %s times" % (filename, x) |
| sys.exit() |
| else: |
| if x != 1: |
| print "Error, old version appears in %s %s times" % (filename, x) |
| sys.exit() |
| |
| #Then perform it |
| for filename in ("setup.py", "tlslite\\__init__.py", "scripts\\tls.py", "scripts\\tlsdb.py"): |
| os.system("copy %s .." % filename) #save a backup copy in case something goes awry |
| s = open(filename, "r").read() |
| f = open(filename, "w") |
| f.write(s.replace(oldVersion, newVersion)) |
| f.close() |
| |
| |
| #Make windows installers |
| os.system("del installers\*.exe") |
| |
| #Python 2.3 |
| os.system("rmdir build /s /q") |
| os.system("python23 setup.py bdist_wininst -o") |
| os.system("copy dist\* installers") |
| |
| #Python 2.4 |
| os.system("rmdir build /s /q") |
| os.system("python24 setup.py bdist_wininst -o") |
| os.system("copy dist\* installers") |
| |
| |
| #Make documentation |
| os.system("python23 c:\\devtools\\python23\\scripts\\epydoc.py --html -o docs tlslite") |
| |
| #Delete excess files |
| os.system("del tlslite\\*.pyc") |
| os.system("del tlslite\\utils\\*.pyc") |
| os.system("del tlslite\\integration\\*.pyc") |
| os.system("rmdir build /s /q") |
| os.system("rmdir dist /s /q") |
| |
| |
| |