git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			68 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import sys, os, string, time, shutil
 | |
| #import ReleaseForge
 | |
| 
 | |
| from taskrunner import Job, Task, TaskRunner, Config
 | |
| 
 | |
| # read in the build settings...
 | |
| 
 | |
| CFGFILE = "./scripts/build-environ.cfg"
 | |
| config = Config()
 | |
| config.read(CFGFILE)
 | |
| 
 | |
| config.WXWIN = os.path.abspath("..")
 | |
| 
 | |
| class Job(Job):
 | |
|     LOGBASE = "./tmp"
 | |
| 
 | |
| # ensure the staging area exists
 | |
| if not os.path.exists(config.STAGING_DIR):
 | |
|     os.makedirs(config.STAGING_DIR)
 | |
| 
 | |
| # Figure out the wxPython version number, possibly adjusted for being a daily build
 | |
| if config.KIND == "daily":
 | |
|     t = time.localtime()
 | |
|     config.DAILY = time.strftime("%Y%m%d")   # should it include the hour too?  2-digit year?
 | |
|     file("DAILY_BUILD", "w").write(config.DAILY)
 | |
|     # stamp the date on daily builds
 | |
|     config.BUILD_VERSION=config.BUILD_VERSION + "-" + config.DAILY
 | |
| 
 | |
| # Let the user override build machine names, etc., etc. with their own
 | |
| # config file settings
 | |
| myconfig = None
 | |
| myconfig_file = os.path.expanduser("~/wxrelease-environ.cfg")
 | |
| if os.path.exists(myconfig_file):
 | |
|     myconfig = Config()
 | |
|     myconfig.read(myconfig_file)
 | |
| 
 | |
| # TODO: Set up different environs for daily, release, etc.
 | |
| # so that people can have different configs for different builds
 | |
| 
 | |
| # prepare the environment file
 | |
| config_env = config.asDict()
 | |
| config_env.update(os.environ)
 | |
| if myconfig:
 | |
|     config_env.update(myconfig.asDict())
 | |
|     
 | |
| tasks = Task([ Job("pre-flight", "./scripts/pre-flight.sh", env=config_env), 
 | |
|                Job("win_build", "./scripts/build-windows.sh", env=config_env),
 | |
|                Job("lin_build", "./scripts/build-linux.sh", env=config_env),
 | |
|                Job("mac_build", "./scripts/build-mac.sh", env=config_env),
 | |
|              ])
 | |
|              
 | |
| print "Build getting started at: ", time.ctime()
 | |
| 
 | |
| 
 | |
| # Run the first task, which will create the docs and sources tarballs
 | |
| tr = TaskRunner(tasks)
 | |
| rc = tr.run()
 | |
| 
 | |
| if rc == 0 and config.delete_temps == "yes":
 | |
|     shutil.rmtree(config.WX_TEMP_DIR)
 | |
| 
 | |
| # cleanup the DAILY_BUILD file
 | |
| if config.KIND == "daily":
 | |
|     os.unlink("DAILY_BUILD")
 | |
|     
 | |
| print "Build finished at: ", time.ctime()
 | |
| sys.exit(0)
 |