git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			140 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
 | 
						|
 | 
						|
import sys, os, string, time
 | 
						|
from ftplib import FTP
 | 
						|
 | 
						|
cwd = os.getcwd()
 | 
						|
 | 
						|
logfile = 'c:\\temp\\autobuild.log'
 | 
						|
WXDIR   = os.environ['WXWIN']
 | 
						|
dllVer  = '23_0'
 | 
						|
wxpVer  = '2.3b1'
 | 
						|
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...")
 | 
						|
        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('b.bat c')
 | 
						|
 | 
						|
        logSeparator("Building wxPython...")
 | 
						|
        os.chdir(WXPYDIR + '\\src')
 | 
						|
        do("b.bat f")
 | 
						|
        validateFile(WXPYDIR+'\\wxPython\\wxc.pyd')
 | 
						|
 | 
						|
 | 
						|
        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 docs zip file...")
 | 
						|
        os.chdir(WXPYDIR)
 | 
						|
        do("distrib\\zipit.bat %s" % wxpVer)
 | 
						|
 | 
						|
        srcDName  = WXPYDIR+'\\distrib\\wxPython-docs-'+wxpVer+'.tar.gz'
 | 
						|
        destDName = WXPYDIR+'\\distrib\\wxPython-docs-'+wxpVer+'-'+dateSt+'.tar.gz'
 | 
						|
        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' % destDName)
 | 
						|
 | 
						|
 | 
						|
        logSeparator("Finished!!!")
 | 
						|
 | 
						|
    finally:
 | 
						|
        os.system("list " + logfile)
 | 
						|
        pass
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    main()
 |