3ca6a5f046
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
169 lines
4.3 KiB
Python
Executable File
169 lines
4.3 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 = '22_0'
|
|
wxpVer = '2.2.0'
|
|
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()
|