]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/distrib/autobuild.py
merged 2.2 branch
[wxWidgets.git] / wxPython / distrib / autobuild.py
diff --git a/wxPython/distrib/autobuild.py b/wxPython/distrib/autobuild.py
new file mode 100755 (executable)
index 0000000..e6a303f
--- /dev/null
@@ -0,0 +1,168 @@
+
+
+import sys, os, string, time
+from ftplib import FTP
+
+cwd = os.getcwd()
+
+logfile = 'c:\\temp\\autobuild.log'
+WXDIR   = os.environ['WXWIN']
+dllVer  = '21_16'
+wxpVer  = '2.1.16'
+dateSt  = time.strftime("%Y%m%d", time.localtime(time.time()))
+
+base = os.path.split(sys.argv[0])[0]
+base = os.path.join(base, '..')
+WXPYDIR = os.path.abspath(base)
+
+#----------------------------------------------------------------------
+
+def do(cmd):
+    st = "  " + cmd + " >> " + logfile
+    print st
+    f = open(logfile, "at")
+    f.write(st + '\n')
+    f.close()
+    os.system(cmd + " >>& " + logfile)
+
+#----------------------------------------------------------------------
+
+def logTruncate():
+    f = open(logfile, "wt")
+    f.close()
+
+
+def logSeparator(msg=None, f=None, recurse=1):
+    if not f:
+        f = open(logfile, "at")
+    f.write('\n')
+    f.write('--' * 35)
+    f.write('\n')
+    if msg:
+        f.write(msg)
+        f.write('\n')
+        f.write('--' * 35)
+        f.write('\n')
+        if recurse:
+            logSeparator(msg, sys.stdout, 0)
+
+#----------------------------------------------------------------------
+
+def validateFile(file):
+    if not os.path.exists(file):
+        logSeparator("*****  %s does not exist, exiting! *****" % file)
+        raise SystemExit
+    else:
+        logSeparator("%s found, continuing..." % file, recurse=0)
+
+
+#----------------------------------------------------------------------
+
+def main():
+    logTruncate()
+
+    try:
+        logSeparator("Cleanup")
+        os.chdir(WXDIR + '/src/msw')
+        do('make cleandll FINAL=1')
+
+        logSeparator("Building Documentation...")
+        os.chdir(WXDIR + '/src/msw')
+        do('make touchmanual htmlhelp')
+        validateFile(WXDIR + '/docs/htmlhelp/wx.chm')
+
+        logSeparator("Building wxWindows and other libraries...")
+        os.chdir(WXDIR + '/src/msw')
+        do('make dll pch FINAL=1')
+        validateFile(WXDIR + '/lib/wx'+dllVer+'.dll')
+
+
+
+        logSeparator("Cleaning wxPython build directory...")
+        os.chdir(WXPYDIR)
+        do('buildall.bat -c')
+        os.rename('build.local', 'build.local.save')
+        f = open("build.local", "w")
+        f.write("""
+CRTFLAG='/MD'
+FINAL=1
+""")
+        f.close()
+
+
+        logSeparator("Building core wxPython...")
+        os.chdir(WXPYDIR + '\\src')
+        do("build -b")
+        validateFile(WXPYDIR+'\\wxPython\\wxc.pyd')
+
+
+        logSeparator("Building wxPython addon modules...")
+        os.chdir(WXPYDIR+'\\contrib')
+        do("buildall -b")
+        validateFile(WXPYDIR+'\\wxPython\\glcanvasc.pyd')
+        validateFile(WXPYDIR+'\\wxPython\\oglc.pyd')
+        validateFile(WXPYDIR+'\\wxPython\\stc_c.pyd')
+
+
+        os.chdir(WXPYDIR)
+        os.unlink('build.local')
+        os.rename('build.local.save', 'build.local')
+
+
+        logSeparator("Building installer executable...")
+        os.chdir(WXPYDIR+'\\distrib')
+        do("autoit2 wise.aut")
+        srcName =  WXPYDIR+'\\distrib\\wxPython-'+wxpVer+'.EXE'
+        destName = WXPYDIR+'\\distrib\\wxPython-'+wxpVer+'-'+dateSt+'.EXE'
+        validateFile(srcName)
+        try:
+            time.sleep(5)
+            os.rename(srcName, destName)
+            validateFile(destName)
+        except:
+            logSeparator("****** UNABLE TO RENAME FILE ******")
+
+
+        logSeparator("Building source and docs zip files...")
+        os.chdir(WXPYDIR)
+        do("distrib\\zipit.bat %s" % wxpVer)
+        srcZName =  WXPYDIR+'\\distrib\\wxPython-src-'+wxpVer+'.zip'
+        destZName = WXPYDIR+'\\distrib\\wxPython-src-'+wxpVer+'-'+dateSt+'.zip'
+        validateFile(srcZName)
+        try:
+            os.rename(srcZName, destZName)
+        except:
+            pass
+
+        srcDName  = WXPYDIR+'\\distrib\\wxPython-docs-'+wxpVer+'.zip'
+        destDName = WXPYDIR+'\\distrib\\wxPython-docs-'+wxpVer+'-'+dateSt+'.zip'
+        validateFile(srcDName)
+        try:
+            os.rename(srcDName, destDName)
+        except:
+            pass
+
+
+
+        # #*#*#*#*#*  Comment this out to allow upload...
+        return
+
+        logSeparator("Uploading to website...")
+        do('python c:\\utils\\sendwxp.py %s' % destName)
+        do('python c:\\utils\\sendwxp.py %s' % destZName)
+        do('python c:\\utils\\sendwxp.py %s' % destDName)
+
+
+        logSeparator("Finished!!!")
+
+    finally:
+        os.system("list " + logfile)
+        pass
+
+
+
+
+
+
+if __name__ == '__main__':
+    main()